home *** CD-ROM | disk | FTP | other *** search
/ Enter 2005 August / EnterCD 08_2005.iso / dosapps / freedos / doc / sys / history.txt < prev    next >
Encoding:
Text File  |  2003-09-24  |  104.3 KB  |  2,697 lines

  1. 2003 Sep 24 - Build 2032a
  2. -------- Bart Oldeman (bart@dosemu.org)
  3. + Changes Bart
  4.     * fix segment problems with ctrl-c and character uppercase
  5.       handlers
  6.     * fix critical error callers to set the critical error code
  7.       immediately before calling the handler (in case they call
  8.       DOS-59); don't set the critical error in inthndlr.c if 
  9.       something else already did. Return with an errorcode if
  10.       "truename" and "read"/"write" encountered a critical error.
  11.     * sys.c: add /k kernname.sys option to and straighten out SYS option
  12.       processing; remove the metakern magic.
  13.     * config.c: ignore the segment part for multi-part device drivers
  14. 2003 Sep 21 - Build 2032
  15. -------- Bart Oldeman (bart@dosemu.org)
  16. + Changes Rune Espeseth <re@icd.no> (modified by Bart)
  17.     * config.txt, config.c: Full screen config.sys menus (use MENUCOLOR=)
  18. + Changes Michal Bakowski (mb@orad.pl)
  19.     * initdisk.c, kernel.asm: Change the boot drive to always
  20.       be C: if DLASortByDriveNo==1
  21. + Changes Arkady
  22.     * dsk.c: Use memcpy instead of fmemcpy; avoid downcasting
  23.       from far to near.
  24.     * sysclk.c: err if sizeof(struct ClockRecord) != rp->r_count
  25.       move year init below reading the BIOS
  26.     * main.c: init_device corrections/cleanups
  27.     * device.h: Change r_status and dh_name to unsigned quantities.
  28.     * task.c: Free memory if there is an error in the relocation
  29.       table.
  30.     * floppy.asm, getvec.asm, rdatclk.asm, rdpcclk.asm, wrpcclk.asm:
  31.       driver .asm files optimizations (also from Bart); remove
  32.       obsolete rdatclk.
  33.     * build.txt: Fix some typos.
  34.     * inthndlr.c: Add missing (); small optimization for DosGetdate/time.
  35. + Changes Lucho
  36.     * boot.asm, boot32.asm, boot32lb.asm, sys.c: add metakern support:
  37.       sys looks for a file metakern.sys which is a multiple of 512.
  38.     * break.c: Fix ctrl-break bug.
  39.     * ioctl.c: IOCTL 4406 provided reverse AL output on regular
  40.       files - FF if EOF, 0 if not. It should output 0 if EOF, FF if not.
  41.     * initclk.c: Initclk changes
  42.     * config.c, init-mod.h, initoem.c: Support for
  43.       switches=/e[[:]nnnn] and for moving the EBDA
  44.     * fatfs.c: Use 0x10000UL (avoids Turbo C warning)
  45.     * sys.c: Move manually added "RCS" entries to the CVS log.
  46.     * main.c: Adjustments for MSVC.
  47.     * ioctl.c: int21/ax=440d lock/unlock logical/physical volume
  48.       simulate success for MS-DOS 7+ SCANDISK etc. --LG
  49.     * main.c: && should be || in check for \, / and :
  50.     * task.c: Adjust registers used when starting programs. Some
  51.       demos expect undocumented values (with Bart).
  52.     * mscl8.mak: Forgotten HMA_TEXT for MS compilers.
  53.     * sys.c: Add lock/unlock drive to SYS
  54.     * history.txt: Changelog correction.
  55.     * fatfs.c: Use near bpb on the stack in bpb_to_dpb.  Make
  56.       sure the number of FAT sectors is actually enough to hold that
  57.       many clusters. Otherwise back the number of clusters down
  58.     * procsupt.asm, proto.h, task.c: Don't disable a20 for
  59.       "exit" int21/ah=4c
  60. + Changes Lucho, Tom, Eric
  61.     * boot.asm, boot32.asm, boot32lb.asm, makefiles, sys.c: 
  62.       * boot.asm modified to support non-512 byte sectors 
  63.         (e.g. 1.2 MB NEC diskettes)
  64.       * 512 byte sector size check removed (although Eric's boot32ea.asm 
  65.         does require 512-byte sectors, all LBA FAT32 volumes have
  66.         512-byte sectors anyway).
  67.       * boot.asm cleaned up and modified to support Metakern
  68.         bsDriveNumber updated by SYS even #ifndef STORE_BOOT_INFO 
  69.       * (nothing in common)
  70.       *  SYS Now supports and includes the following new boot sectors:
  71.         1) the combined CHS+LBA FAT12/FAT16 boot sector by Tom Ehlert(29 July)
  72.         2) the CHS-only FAT32 boot sector -- as patched by Jon Gentle(08 July)
  73.         3) the LBA-only FAT32 boot sector by Eric Auer and Jon Gentle (19 July)
  74.       * The old combined (CHS+LBA), no-CALCPARAMS, no-resizable, non-Ghostable,
  75.         non-standard FAT32 boot sector and STORE_BOOT_INFO is no longer used.
  76.       * dump_sector() showed ASCII debug printout for the old sector
  77.         only - fixed.
  78.       * Put a boot sector only if sector size= 512 (may it not be so in
  79.         Japan?!). If non-512 byte sectors encountered, report to the 
  80.         fd-kernel mailing list.
  81.       * Now puts boot sector before copying kernel/shell so it works in
  82.         WinNT now.
  83.       * check_space() now implemented at last (required significant 
  84.         modifications)
  85.       * New (FAT type) detection method according to a MS White Paper.
  86.       * Now BOOTONLY works even without preceding boot sector image file name.
  87.       * Some minor code cleanups.
  88.       * Bart: some cleanups to the above; replaced 386 code for CHS FAT32
  89.         by 8088 code. Use boot32lb.asm instead of boot32ea.asm
  90. + Changes Bart
  91.     * portab.h, process.h, init-mod.h, inithma.c, kernel.asm, main.c, task.c: 
  92.       * add support for the far jmp at "int 30" (0000:00c0) 
  93.       * mirror it for the HMA (ffff:00d0)
  94.       * put all DOS int handler (and the CPM entry jumped to from
  95.         int30) jumpers in the "CONST" portion of DGROUP (instead of
  96.     LGROUP)    This helps Turbo C++ 1.01 make with the -S (swap)
  97.     switch.
  98.       * adjustments to set the relevant PSP fields in task.c
  99.     * blockio.c: Always use huge block sectors if the relevant bit is
  100.       set in the device header. This solves a problem with xmsdsk.
  101.     * chario.c: Small optimizations
  102.     * clobber.bat: Remove duplicate clobber.
  103.     * Flip some slashes for Linux compat and simplifications in makefiles
  104.     * device.h, portab.h: Use STATIC=static for watcom C (statics
  105.       are in the mapfile); remove some cruft.
  106.     * makefile, wlinker.bat: More verbose mapfiles for watcom
  107.       C; some slash preparations to allow cross-building on Linux
  108.     * exeflat.c, patchobj.c: Fix warnings reported by Turbo C
  109.     * break.c, chario.c, dosfns.c, globals.h, inthndlr.c,
  110.       proto.h, systime.c: (with a little help from Arkady) 
  111.       Simplifications and cleanups.
  112.       Pass a near pointer to the far pointer that points to the device 
  113.       instead of an SFT index (in general).
  114.       Make cooked_write much faster by only testing for input every 32
  115.       characters.  No longer test for ctl_s on syscon if writing to
  116.       the printer: just read from the printer which will return zero
  117.       characters.  Fix reading/writing zero characters by returning
  118.       "256" (special code). Adjust interfaces in other files.
  119.     * portab.h: New UNREFERENCED_PARAMETER macro that appears to
  120.       work for all compilers.
  121.     * floppy.asm: Remove unused code.
  122.     * init-mod.h: Solve compilation problem with Borland C++ 3.1
  123.     * config.b: "-p" is no longer necessary in config.bat
  124.     * kernel.asm: Add necessary "BootHardDiskSeconds" for non
  125.       UPXed kernels.
  126.     * chario.c, dosfns.c: Add necessary casts to ? : constructions;
  127.       cleanup read_line_handle a little.
  128.     * portab.h: Add peek and poke #defines
  129.     * chario.c: Fix pointer overflow problem for reading line using handle.
  130.     * makefiles, exeflat.c Clean cleans a bit more; change () to (void)
  131.     * main.c: Set the PSP before the DTA. This solves an interrupt
  132.       vector table corruption.
  133.     * kernel.asm: Use "local" (instead of "global") disable/enable
  134.       A20. This solves the problems with NIOS.
  135.     * asmsupt.asm, misc.c, proto.h, strings.c: Remove (unused) strncpy.
  136. 2003 Jul 19 - Build 2031
  137. -------- Bart Oldeman (bart@dosemu.org)
  138. + Changes Luchezar Georgiev
  139.     * (with Bart) add extra low disk buffer to avoid HMA
  140.       problems with certain device drivers.
  141.     * Add an extra space character at the end of the command line
  142.       for device drivers to prevent wrong behavior at empty command line.
  143.     * point to a correct environment for INSTALL=
  144.       (fixes problems with xmsdsk).
  145.     * change device driver error code check (using S_ERROR | S_DONE)
  146.       (fixes problem with the SystemSoft PCMCIA socket services driver)
  147.     * correct parameter order in inthndlr.c, chario.c
  148.     * INSTALLHIGH correction.
  149. + Changes Tom
  150.     * Fix a problem with the 'BootFromHarddiskIfNoKeyHit' option. 
  151.       that occurred with some Compaq and Fujitsu/Siemens highend equipment.
  152. + Changes Bernd Blaauw
  153.     * config.txt updates
  154. + Changes Steffen Kaiser
  155.     * NLS adjustments
  156. + Changes Bart
  157.     * Correct problem with multiple UMBs (bug #1671)
  158.     * main.c: there aren't lastdrive open file handles but a
  159.       maximum of 20.
  160.     * Make "unable to disable A20" message #ifdef DEBUG only.
  161.     * config.c,main.c: Small size optimizations (some proposed by
  162.       Arkady Belousov) 
  163.     * asmsupt.asm: Removed unnecessary jcxz's (Arkady)
  164.     * intr.asm: intr() cleanup and small optimizations (Arkady)
  165.     * Use PASCAL calling convention by default for Turbo compilers.
  166.     * Move more externs to header files
  167.     * SFT init cleanup (+3 files need to be low)
  168.     * config.c, main.c: Fix bug in block device driver init of
  169.       DPBs (bug #1969, TDSK problem)
  170. 2003 Jun 18 - Build 2030
  171. -------- Bart Oldeman (bart@dosemu.org)
  172. + Changes Tom
  173.     * if user left accidentally floppy or CD in drive,
  174.       give him a chance to continue to boot from HD.
  175.       disabled by default, enablable by SYS CONFIG
  176.       (BOOTHARDDISKSECONDS)
  177. + Changes Lixing Yuan
  178.     * dosnames.c cleanup, fix for truename if the filename
  179.       contains wildcards and a trailing dot.
  180. + Changes Eric Auer
  181.     * add sanity check to initdisk.c for (driveParam->chs.Sector == 0)
  182.       + some display tweaks
  183.     * add EECHO (echo with $=ESC) support to the config.sys parser.
  184.     * distinguish between the builtin DOS version and the settable
  185.       DOS version.
  186.     * console.asm now accepts extended scancodes (modified by Bart, fixes
  187.       bug #1657)
  188.     * added BOOTONLY option to SYS (modified by Bart)
  189. + Changes David Bolen
  190.     * add support for UNC-style paths (that start with "\\")
  191. + Changes Luchezar Georgiev
  192.     * add Bulgarian country structure data
  193. + Changes Bart
  194.     * flip some slashes in drivers/*.asm 
  195.       (enables cross-assembly on Linux)
  196.     * remove superfluous printf("\n") in patchobj.c
  197.     * combine the INIT class with the CODE class (classes can span
  198.       multiple physical segments)
  199.     * re-add _TEXT to LGROUP to be able to simplify the patchobj magic
  200.     * don't specify -zPI_GROUP for the init code in Borland compilers
  201.       (unnecessary, it will be put there because of segs.inc)
  202.     * remove STDPATCH; it is no longer necessary
  203.     * add FILESHIGH, LASTDRIVEHIGH, and STACKSHIGH and DOSDATA=UMB
  204.       to load these structures into UMBs
  205.     * make DOS sub-MCBs visible (seen by MEM)
  206.     * preliminary allocation of FILES etc. now takes place at the
  207.       top of conventional memory, and device drivers are loaded before
  208.       the final allocation takes place.
  209.     * handle multiple UMBs more correctly (but config.sys can use
  210.       only one UMB for devicehigh -- /Ln,xxxx is not yet implemented)
  211.     * minor size optimizations in newstuff.c, chario.c, dosfns.c and fcbfns.c.
  212.       asmsupt.asm: correct fmemchr (all n's) and *memset/*memcpy
  213.       (n==0)
  214.     * introduce lol structure for list of lists; avoid lots of
  215.       relocations
  216.     * avoid more relocations in the asm files by loading ds from
  217.       [cs:_DGROUP_]
  218.     * Fix problem with attributes with the volume label bit + findnext
  219.     * SYS: avoid copying kernel.sys and command.com if the destination
  220.       is identical to the source (fixes bug #1656).
  221.     * Fix bug in DeleteBlockInBufferCache: needs to make the block
  222.       invalid, not flush it, if we're writing (bug #1635).
  223.     * added switches=/k/n/f support to the config.sys parser.
  224. 2003 Mar 14 - Build 2029
  225. -------- Bart Oldeman (bart@dosemu.org)
  226. + Changes Tom
  227.     * fattab.c, fat.h removed the wrong ELSE_ISFAT32()
  228.     * fatfs.c: rmdir would crash if you rmdir'ed an existing file
  229.     * config.c, main.c, portab.h
  230.       implement INSTALL and INSTALLHIGH for config.sys
  231.       basic COUNTRY=xxx support (with a little help from others,
  232.       mentioned in config.c)
  233.     * execrh.asm: save si, di for strategy device driver handler
  234.     * (adjusted by Bart): the internal "truename" has to reject
  235.       wildcards for all commands except for the exposed "truename"
  236.       (DosTrueName, int21/ah=60), FindFirst and FCB functions.
  237. + Changes Bart
  238.     * add top level makefile with list of files to zip for releases
  239.     * remove obsolete documentation and intr.h
  240.     * eliminated the "f_highwater" fnode field.
  241.     * reintroduced HMA_TEXT segment and adjust segments in libm.lib
  242.       to solve problems with Borland compilers.
  243. 2002 Dec 9 - Build 2028
  244. -------- Bart Oldeman (bart@dosemu.org)
  245. + Changes Tom
  246.     * move clock driver initialization to inittext
  247.     * new ELSE_ISFAT16 macro to save some bytes
  248.     * use _TEXT for old HMA_TEXT, _LOWTEXT for old _TEXT to get
  249.       a slightly less complicated memory model from the C compiler's
  250.       point of view.
  251.     * add support for int2f/4a01,4a02: query/allocate HMA space.
  252.     * updated config.txt
  253. + Changes Arkady V. Belousov
  254.     * slightly improved asm for print_hex and int2f clear_ax stuff
  255.     * use #error for unknown compilers
  256.     * remove hexDigits reference
  257.     * correct comment in kernel.asm (pad to 05fdh)
  258. + Changes Bart
  259.     * fix ss:sp init bug for int21/ax=4b01 (visible in DEBUG)
  260.     * fix redirection problem for character output routines
  261.     * fix press the any key message for floppy swaps
  262.     * correct cluster value for BAD cluster
  263.     * correct FAT12/16/32 cutoff magic values as per the MS spec
  264.     * the BUFFERS structure is now the same as in MSDOS 5+ and uses
  265.       a circular double-linked list using near pointers.
  266.     * move all old RCS log messages into one seperate file
  267.     * divide the fnode f_cluster_offset field by the size of a cluster: 
  268.       this gives a more efficient map_cluster().
  269.     * point the CharMapSrvc pointer to the DOS DS for AARD compliance.
  270.     * nls.c: set CX to cooperate with load_unf.exe
  271. 2002 Nov 9 - Build 2027
  272. -------- Bart Oldeman (bart@dosemu.org)
  273. + Changes Tom
  274.     * memset ErrorAlreadyPrinted to 0 in config.c
  275. + Changes Bart
  276.     * reset drive before and after int26 in SYS for winnt compatibility
  277.     * propagate sharing bits correctly in DosOpen
  278.     * return DE_NFILES if a volume label is not found; search for volume
  279.       label if attr & 8 not just if attr==8
  280.     * initialize the critical error code to 0 in inthndlr.c
  281.     * ignore value of DH for extended open int21/ah=6c
  282.     * fix problem with NULL device code being in the wrong segment
  283.     * Hopefully innocent hack to deal with NDN in ioctl.c (ignore upper bits
  284.       of the drive number)
  285.     * use subst bit 15 for int21/ax=4409(IOCTL-CHECK IF BLOCK DEVICE REMOTE).
  286. 2002 Oct 27 - Build 2027rc
  287. -------- Bart Oldeman (bart@dosemu.org)
  288. + Changes Bart
  289.     * reorganized chario.c, got F1-F6, Ins, Del, etc. working
  290.     * fixed bug in extended open
  291.     * fixed bug in memory manager (realloc should try to defragment; 
  292.       UMB fixes)
  293.     * consistently pass sft_idx around for all SFT functions (instead of 
  294.       the far pointer)
  295.     * lpUserStack is gone :)
  296.     * Idle interrupt: now uses disk i/o stack instead of error stack if it
  297.       re-enters DOS; can not be called from int21/ah=3f. It also checks 
  298.       InDos now (as documented in "undocumented dos").
  299.     * int21/ah=59 should use the disk i/o stack, not the character stack.
  300.     * get_cds: a uniform way to get the CDS for drive X which can do error
  301.       checking too. get_dpb: similar.
  302.     * task.c uses mid-level system file handles instead of PSP handles.
  303.     * SFT sequence is MS/DR DOS like: 0=AUX 1=CON 2=PRN
  304.     * int21/ah=4d needs to clear the return code after returning it.
  305.     * Removed need for "unusedretval" because some functions return a long int
  306.       now.
  307.     * Do not warn for some additional LBA partition layouts (begin/end
  308.       cylinder=1023) in initdisk.c.
  309.     * support int2f/ax=1213 (uppercase character) (ASCII only for now).
  310.     * fix for top of memory parameter to device driver - fixes problem
  311.       with DRDOS emm386
  312.     * eliminated printf for non-init code -- use put_unsigned and 
  313.       put_string instead
  314.     * better MK_FP for Turbo C++ 1.01 and later
  315.     * PSP related task.c cleanups
  316.     * use --best and new upx (1.23) for binary build
  317.     Changes Tom and Bart:
  318.     * Use Pascal calling convention for memcpy and friends in asmsupt.asm
  319.     * Fixed make temp file
  320.     * fix bug in DosFindNext
  321.     * misc makefile fixes
  322. 2002 Aug 3 - Build 2027test
  323. -------- Bart Oldeman (bart@dosemu.org)
  324. + Changes Tom
  325.     * enable LBA FAT16 booting
  326.     * workaround for redirectors that do/do not set the opencount
  327.     * int25/26 should fail for redirectors
  328.     * set the number of sectors per track in the INT 1E table when
  329.       reading/writing floppies
  330.     * disabled fatal() in error.c
  331.     * Disable the A20 line upon exec (int21/ah=4B). This is necessary for some
  332.       brain-dead exepacked programs.
  333.     * removed unnecessary "BUFFERS" fields
  334.     * proper check for network/non-existing drive for int25/26.
  335.     * save more bytes on the stack at various places
  336.     * made the local registers for inthndlr.c "near" instead of "far".
  337.     * fix bug in strchr handling for fcbfns.c (FcbParseFname)
  338. + Changes Steffen (but changed a lot by Bart)
  339.     * new truename (Bart: but without mapPath() style struct)
  340.     * merge open/create functions into one extended open function
  341.     * also honor the sharing bits better for "open"
  342.     * use local 8+3 path names in fatfs.c; merge name+extension
  343.       into one array
  344.     * take care of filenames that start with ASCII 5: they should be
  345.       treated as starting with 0xe5
  346.     * exploit the fact that the filenames are already "truenames",
  347.       i.e., fully qualified in fatfs.c. This simplifies parsing a lot.
  348. + Changes Bart
  349.     * make "if exist c:\dir\nul" working
  350.     * honor "do not inherit handle on exec" flag for "open".
  351.     * improve the FCB functions so that they set the critical error code
  352.       properly
  353.     * next_cluster returns "1" instead of DE_xxx in case of failure.
  354.     * create one function to do binary character IO (used for CLOCK$
  355.       driver and character drivers such as CON)
  356.     * better handling of ABORT/FAIL
  357.     * merge all read and write functions
  358.     * patchobj makefile correction
  359.     * printf uses va_list etc.
  360.     * quicker and more robust Watcom build
  361.     * use FS: and GS: for Watcom 386.
  362.     * workaround: don't use DL for floppy boots, but fixed A:
  363.     * disable unused functions in floppy.asm
  364.     * cleaner prototypes (thanks to gcc)
  365.     * reorganized ioctl.c; there was an uninitialized variable.
  366.     * inlined some functions of fattab.c
  367.     * added (f)strcmp, (f)memcmp and (f)memchr to asmsupt.asm
  368.     * initially suggested by Arkady: dsk.c FS_info copy optimization
  369.     * initialize a VDISK signature in the HMA
  370.     * sysclk.c: small size optimization
  371.     * small UMB fixes
  372.     * made the CDS into a proper array instead of a structure with
  373.       one member
  374.     * large task.c cleanups -
  375.       merge as much as possible from DosExeLoader and DosComLoader
  376.       (from Tom:) eliminate some structures in low memory
  377.     * main.c: slightly cleanup "SHELL=" line parsing.
  378. 2002 May 9 - Build 2026b
  379. -------- Bart Oldeman (bart@dosemu.org)
  380. + Changes Tom
  381.     * limit output at boot time somewhat
  382.     * GetCurrentDirectory should fail, if drive is accessible
  383.     * fixed some minor config.sys parser bugs and have the possibility
  384.       of things like 123?device=EMM386.EXE NOEMS
  385.     * shorter version of DosMemLargest()
  386. + Changes Bart
  387.     * repaired makefile dependencies
  388.     * implemented multi-sector writes, and re-merged
  389.       readblock()/writeblock() into rwblock ()
  390.     * implemented int21/ah=1c for network drives (RHIDE needs this)
  391.     * initialize current_ldt for findnext (hinted by Steffen)
  392.     * check serial number for floppy disk changes where the drive
  393.       does not feature a changeline
  394.     * reset to root directory when floppy has changed
  395.     * cleaned up endian helpers {get,put}{byte,word,long}
  396.     * don't close file if disk is full
  397.     * enforce minimum of 9 sectors per track for INT1E (necessary for
  398.       some floppies on some XTs)
  399.     * clear carry when calling INT23 (ctrl-break handler) as per RBIL
  400.     * don't copy FCBs on exec if they are pointed to by FFFF:FFFF.
  401.     * resolved warnings for  Watcom (now compiles with -wx -we)
  402.     * truename fix (return DE_FILENOTFND for foo.bar.foo)
  403. + Changes Jeremy
  404.     * fixed SYS _dos_getdrive for non-Borland compilers
  405. + Changes Tom and Bart
  406.     * cleaned up fatfs.c, fattab.c, sysclk.c (CLOCK$ driver), systime.c
  407. 2002 Feb 17 - Build 2026a
  408. -------- Bart Oldeman (bart@dosemu.org)
  409. + Changes Martin
  410.     * fixed SYS for non-Watcom compilers
  411. + Changes Tom
  412.     * set CONFIG environment variable to selected number of CONFIG.SYS
  413.       menu entry, for example for use in AUTOEXEC.BAT.
  414. + Changes Bart
  415.     * fixed FCBOpen
  416.     * network redirector fixes ; it appears that clearing CF before calling
  417.        the redirector is safer than setting CF
  418.     * allow creating, renaming and deleting volume labels using FCBs
  419.     * fix renaming with wildcards using FCBs
  420.     * some dosfns.c and fcbfns.c clean-ups
  421.     * booting from hard disk now always sets the default drive to C:,
  422.       not D: if booting from the second physical hard disk, etc (bug #1062).
  423. 2002 Feb 9 - Build 2026
  424. -------- Bart Oldeman (bart@dosemu.org)
  425. + Changes Tom
  426.     * fixed various typos, #includes
  427. + Changes Bart
  428.     * fixed ECHO in config.sys
  429.     * made passing parameters to command.com more robust:
  430.       zero commandline before use, fixed buffer overflow for F5+F8
  431.     * "uppermem_root" in the List of Lists is now FFFF if no UMBs
  432.       available, as documented in RBIL
  433.     * removed all direct hooks from init_text to hma_text; duplicated
  434.       the remaining functions (memset, memcpy and friends).
  435.     * bumped up default DOS version of FAT32 enabled kernel to 7.10  
  436. 2002 Feb 3 - Build 2026test
  437. -------- Bart Oldeman (bart@dosemu.org)
  438. + Changes Tom
  439.     * FCB clean-ups and fixes (bug in FCB Random IO, 
  440.       CYRUS CHESS, bug #1014)
  441.     * initial config.sys menus (see config.txt)
  442.     * execrh.asm: construct 'interrupt' address after strategy to avoid
  443.       some issues with non-trivial 'strategy' routines.
  444.     * make kernel UPX-able
  445.     * cleaned up midnight flag, dates
  446.     * tmark() and friends are floppy specific and implemented in C
  447.       instead of ASM (parts by Bart)
  448.     * DMA boundary checking gives the right number of sectors if
  449.       the start sector is 512-bytes-aligned.
  450. + Changes Victor
  451.     * lfn fixes (lfn is only a place holder, does not work yet)
  452.     * FAT32 fixes
  453.     * dosemu log nicer
  454. + Changes Martin
  455.     * log output
  456.     * warning fixes for sys, patchobj and prf.c
  457. + Changes Bart
  458.     * FCB clean-ups and fixes
  459.     * make Watcom compiled kernel runnable
  460.     * make compilation with Pascal style calling conventions
  461.       for Borland compilers (-p) possible
  462.     * initialize CDS before opening devices
  463.     * implement lock/unlock for remote drives
  464.     * implement commit file (int21/ah=68,6a)
  465.     * implement ioctl get/set logical drive map (int21/ax=440E--F)
  466.     * implement get address of drive data table (int2f/ax=0803)
  467.     * fix "get address of SDA" (int21/ax=5d06)
  468.     * do not use CHS if the root extended partition of the relevant
  469.       logical partition is labelled LBA (bug #1011)
  470.     * hopefully avoid format problem (bug #1030) by not setting drive
  471.       to "non-accessible" while reading the bpb.
  472.     * boot sector fixes:
  473.       enable booting beyond cylinder x where x * number of heads >= 65536.
  474.       still uses CHS to boot (not able to boot beyond cylinder 1023)
  475.       recognize FF8-FFF as FAT12 ending (was only FFF) (bug #1021)
  476.     * avoid using LIB when linking the kernel by echo-ing to a linker
  477.       resource file. Use a batch file to bypass Borlands Make 2.0
  478.       unwillingness to redirect stdout.
  479.     * UMB variable clean-up
  480.     * use of "const" for constant global variables
  481.     * reduced size of Watcom-compiled SYS binary
  482. 2001 Nov 18 - Build 2025c
  483. -------- Bart Oldeman (bart@dosemu.org)
  484. + Changes Bart
  485.     * ran source code .c and .h files through "indent"
  486.     * fixed new printf bug
  487.     * removed some duplicate documents
  488. + Changes Victor & Bart
  489.     * fixed sys.c fat32 detection bug (offset 0x10, not 0x2c)
  490. 2001 Nov 17 - Build 2025b
  491. -------- Bart Oldeman (bart@dosemu.org)
  492. + Changes Tom
  493.     * fix a few more batch file and makefile details
  494.     * fix problems with command line editing: F1 and right key
  495.     * string merging in dosnames.c
  496.     * optimizations for MSC
  497. + Changes Bart
  498.     * fix readblock problem not properly detecting EOF - it sometimes
  499.       returned an error where it should just report a short count.
  500.       Also fnp->f_offset==0 is not a special case for blockread
  501.       (neither should it be for write - but that'll be for later)
  502.       For both cases it's perfectly legal to do a seek first.
  503.     * fix writeblock not setting highwater to offset when doing a 
  504.       truncate (count == 0)
  505.     * hopefully now really fix the floppy change problem -
  506.       dsk.c: getbpb() should query changeline BEFORE reading the BPB.
  507.     * fixed warnings from WATCOM compiler - one of them was in fact
  508.       a bug in fcbfns.c
  509.     * started big clean-up
  510.       - converted obsolete bcopy(), sncopy() and friends to memcpy(),
  511.         strncpy() etc.
  512.       - removed $Log entries that are also on the CVS server and
  513.         removed the $ so no new entries will be added in files.
  514.       indenting will be next - other fixes will be buried in diffs if
  515.       I do that now.
  516. 2001 Nov 12 - Build 2025a
  517. -------- Bart Oldeman (bart@dosemu.org)
  518. + Changes Tom
  519.     * initialize LBA parameter struct to 0's - some BIOSes don't fill
  520.       in everything. Thanks to Bernd Blaauw's bug report.
  521.     * Minor boot sector optimization.
  522.     * added some exeflat options
  523. + Changes Jeremy
  524.     * changes to fdkrncfg.c: mostly cosmetic to the output
  525.     * added sys.doc file (updated by Bart)
  526. + Changes Bart
  527.     * let int 0 (divide by zero) and int 6 (invalid opcode) print a
  528.       stack trace to aid in debugging
  529.     * fixed floppy drive detection for XT's.
  530.     * fixed bug in int21/ah=0x32 and friends - we should flush data before the 
  531.       forced media_check
  532.     * Use CHS addressing if possible on partitions with the relevant ID,
  533.       you can overide this using the new FORCELBA and GLOBALENABLELBASUPPORT
  534.       sys config options.
  535.     * Always use BIOS values for translating LBA to CHS for fixed disks - 
  536.       ignoring the boot sector values. For floppies the boot sector is used.
  537.     * fixed "truename hello." to remove the trailing dot.
  538.     * added options to SYS to write to a boot sector image file
  539.     * set Critical Error Code for ioctl's
  540.     * fake cluster size for 64k clusters just like FAT32 for INT21/AH=0x36
  541.       and friends.
  542. + Changes Bart+Tom+Victor
  543.     * make makefile system more robust
  544. + Changes Victor
  545.     * cleaned up map_cluster and dir_read (bug fixed by Bart)
  546.     * updated LFN API (in development, not used yet)
  547. 2001 Nov 4 - Build 2025a (test)
  548. -------- Bart Oldeman (bart@dosemu.org)
  549. + Changes tom
  550.     * config.sys processing: placing ? on the left side of '=' like
  551.      ?device=  or device ?= 
  552.      asks for this single line 
  553.       fill the available HMA with buffers
  554.     * added kernel configuration options to sys.com, small area at 60:xx
  555.       (in cooperation with Jeremy)    
  556.     * readblock optimized to read as many data as possible in one
  557.       int13 request - great speedups for large reads
  558.     * some more SDA variables need to be updated for the network 
  559.       redirector (the sft index)
  560.     * reduce stack usage in task.c, fattab.c, ioctl.c, execrh.asm, inthndlr.c
  561.     * protect high part of 32-bit registers (stacks.inc)
  562.     * moved copyright messages to init data to save a bit of memory
  563.     * added relocinf, patchobj, sorted + some more output of exeflat
  564.     * UMB fixes
  565. + Fixes Bart, Victor, Tom
  566.     * more FAT32 fixes - to work with device drivers
  567.     * fixed overflow problem with more than 2048 directory entries
  568.     * various space saving changes, dir_init_fnode
  569. + Changes Bart, Tom
  570.     * many makefile changes to enable compilation with different
  571.       compilers (MS, Watcom, Borland). Watcom compiles but the result 
  572.       does not run yet.
  573. + Changes Bart
  574.     * extended the double-byte lead table from int21/ah=63 to 4 zeros
  575.       to make Watcom happy
  576.     * support for IOCTL AX=440D, CL=40,41,42,61,62 for 
  577.       read/write/format track - this enables R. Nordier format to work
  578.     * default floppy type depends on the drive
  579.     * rewrote many parts of int2f.asm to have a cleaner remote_xxx
  580.       interface with less code and stack usage.
  581.     * limit for int21/ah=36 is FFF6 total/free sectors
  582.     * made the rtc clock reading code a bit more robust - assumes
  583.       there is no rtc if the returned date is zero
  584.     * removed non-necessary code in dosnames.c because we're always
  585.       dealing with a TRUENAME there
  586.     * added zero extending of files, but removed it (unless you force
  587.       it) since MSDOS doesn't zero-extend files either
  588.     * wrote a source for exeflat, removed all binaries from the source
  589.     * added more INT2F/AH=12 functions to solve some MSCDEX issues
  590.     * changed BAD sector handling : only ....FF7 is recognized as BAD,
  591.       but FORMAT information from initdisk will only give ....FEF as
  592.       the largest cluster (for safety), so ....FF0-....FF6 are not used
  593.       for newly formatted disks (here .... is either nothing, F, or
  594.       FFFF, FAT12/FAT16/FAT32).
  595.     * more fatfs/fatdir clean-ups - now unnecessary fields dfull,
  596.       dremote and dsize removed from fnodes.
  597. 2001 Sep 24 - Build 2025
  598. -------- Bart Oldeman (bart@dosemu.org)
  599. + Fixes Victor
  600.     * More FAT32 fixes
  601. + Fixes Tom
  602.     * Printer handling
  603.     * misc INT2F/AH=12 fixes.
  604.     * misc clean-ups
  605. + Fixes Bart
  606.     * Added drive B: handling if only one floppy drive available
  607.       (look for play_dj() in dsk.c)
  608.     * Simplify Victor's FAT32 fixes a bit
  609.     * More printer clean-ups
  610.     * fixed sys (thanks Jeremy)
  611.     * DosChangeDir fails for path name too long.
  612. + Fixes Jeremy
  613.     * Changed SYS so if no source given or only source drive (no path)
  614.       given, then checks for kernel.sys & command.com in current
  615.       path (of current drive or given drive) and if not there
  616.       uses root (but only if source & destination drive are different).
  617.       Fix printf to include count(ret) if copy can't write all requested bytes
  618. 2001 Sep 22 - Build 2025 (test)
  619. -------- Bart Oldeman (bart@dosemu.org)
  620. + Added Victor
  621.     * FAT32 support (credits to Martin Stromberg for boot32.asm optimizations)
  622.     * Delete long file names if short file name given
  623. + Added Jeremy
  624.     * modified SYS so it takes optional 2nd parameter (similar to PC DOS)
  625.       where if only 1 argument is given, assume to be destination drive,
  626.       but if two arguments given, 1st is source (drive and/or path)
  627.       and second is destination drive
  628. + fixes Victor
  629.     * some small FCB and dsk.c fixes
  630. + fixes Tom
  631.     * some FAT32 issues
  632.     * many compiler portability changes (compiles with Watcom, MSC, ...)
  633.     * DosMemChange should set the PSP
  634.     * converted INT2F/AH=12 functions to C and added some - enough to
  635.       get most of the MS LAN network client working
  636. + fixes Bart
  637.     * some FAT32 issues
  638.     * Dos{Open,Creat}Sft drive letter issues 
  639.        for CDROMs (thanks Jeremy)
  640.     * shrink_file should ALWAYS fail for directories, also with 
  641.       dos_set_fattr (thanks Jeremy)
  642.     * only give warnings for slightly suspect partitions at boot 
  643.       time where CHS does not match LBA.  
  644.     * re-enabled copyright notice.
  645.     * some dsk.c clean-ups to avoid DIR giving the same contents for
  646.       a different floppy (get serial number/volume label did reset the
  647.       changed state).
  648.     * attribute should be 8-bit fix
  649. 2001 Aug 19 - Build 2024/h
  650. -------- Bart Oldeman (bart@dosemu.org)
  651. + fixes Bart
  652.     * truename fixes (#580)
  653.     * free space fixes (#249)
  654.     * Ctrl-C/Ctrl-Break fix
  655. 2001 Aug 19 - Build 2024/g
  656. -------- Bart Oldeman (bart@dosemu.org)
  657. + fixes Bart
  658.     * set file time fixes
  659.     * clock fixes
  660.     * findfirst/next fixes
  661.     * added a bit more int2f/ax=12xx functionality
  662.     * buffers trick to fool MFT so that it does not crash
  663.     * Ctrl-S (pause) and Ctrl-P (printer echo) now work. 
  664.       Ctrl-Q is ignored by DOS.
  665.     * FCB "closing twice is legal" fix. Necessary for visicalc.  
  666. + fixes Bart + Tom
  667.     * fixed shsucdx /u unloading problem    
  668. 2001 Jul 28 - Build 2024/f
  669. -------- Bart Oldeman (bart@dosemu.org)
  670. + fixes Bart
  671.     * fixed get current directory - MSCDEX works now (always)
  672.     * initdisk.c correctly sets number of hidden sectors: necessary
  673.       for FORMAT - SYS chain to work
  674. + updates Bart
  675.     * initialisation memory situation changed: kernel is loaded
  676.       to the top of conventional memory in the beginning. Then
  677.       move it back low or high depending on DOS=HIGH and the presence
  678.       of an XMS driver.
  679.       DOS=HIGH without an XMS driver (such as FDXMS) has no effect anymore!
  680. + fixes Tom, Victor, Bart
  681.     * various fatfs.c fixes and clean ups
  682.  
  683. 2001 Jul 23 - Build 2024/e
  684. -------- Bart Oldeman (bart@dosemu.org)
  685. + fixes Tom
  686.     * dyninit allocation fix
  687.     * various clean ups
  688. + fixes Bart
  689.     * #define DBLBYTE in inhndlr.c. Necessary for PQDI
  690.     * FCB corrections and cleanups (with a little help from Tom)
  691.     * cleaned up (FCB)FindFirst/FindNext a little more.
  692.     * task.c: copies default FCBs, initializes AX properly and
  693.       an int21/ax=4b01 fix. Also closes all FCB opened files upon
  694.       termination of a program.
  695.     * dosnames.c: fixed DJGPP "ls c:/" problem reported by Martin
  696. + fixes Victor Vlasenko
  697.     * Makefile fix for dealing with Borland make 3.6
  698.     * fix for fatfs.c shrink_file()
  699. + fixes Bart
  700.     * handle B: just like A: on a single floppy system. There still needs to be
  701.       user interaction like "Please put a floppy in drive B:".
  702.     * ioctl.c fix for INT21/AX=4400 + sft driveno field
  703.     * various small fcb fixes
  704.     * put file position number and pointers to Pri/SecPathName into
  705.       SDA. Now MSCDEX works as redirector (but still not always :-() 
  706.     * redirector set attribute fixes + various cleanups
  707.     * truename+attr+ioctl fix => DJGPP libc compiles cleanly!
  708. + changes Bart
  709.     * use the output of truename() consistently: this saves a lot of
  710.       headaches in parsing later and also allows a lot of simplifying:
  711.       made many parameters in fatfs.c and fatdir.c NEAR
  712. + added Bart
  713.     * partly implemented the "Drive Data Table" see RBIL INT2f/AX=0803
  714.     * implemented construction of default BPB in initdisk.c
  715.     * implemented the access flag in dsk.c
  716.     * printf writes to DOSEMU log if prf.c compiled with #define DOSEMU
  717. + fixes Bart
  718.     * dsk.c uses default BPB in the right places (with help from Tom and Brian)
  719.     * Brian's FORMAT now works
  720.     * Tab fix (bug reported by Martin Stromberg)
  721.     * INT21/AH=0x1f now simply uses AH=0x32 for the default drive
  722. + fixes Tom
  723.     * saved some static variables
  724.     * implementation of int_2f_111e_call() for network/LAN manager
  725.     * return AX=0001 for default redirector handler
  726.     * enable use of multiple UMBs
  727.     * fixed task.c 'LOADHIGH executables': minAlloc == maxAlloc = 0
  728.       and an fixed overwriting the MCB
  729. 2001 Jul 9 - Build 2024/d
  730. -------- Bart Oldeman (bart@dosemu.org)
  731. + fixes Bart:
  732.     * fixed Ctrl-C (Ctrl-S and Ctrl-Q still missing).
  733.     * ioctl EOF fix (DJGPP less&gdb problem reported by Martin Stromberg)
  734.     * INT21/AH=29 (Parse Filename into FCB) fix (NC problem reported
  735.       by Ken Martwick) with clean up from Tom.
  736.     * ioctl should do a media_check before calling the block driver:
  737.       this fixes bug #726 (first dir gave serial no. 1234-5678).
  738.     * initdisk.c now uses the init data segment.
  739. + fixes Tom:
  740.     * fixes for INT21/AH=32; this should cure the problems with
  741.       Brian's new format.
  742.     * more SYS fixes.
  743. + added Tom:
  744.     * some more diagnostics (123) to aid finding bugs when booting from
  745.       a hard disk.
  746.  
  747. from 2001 jun 23 : KE2024BP 
  748.  
  749. + fixes Tom:
  750.     * FAT FS: would not expand files correctly, if lseek() 
  751.       beyond EOF (see also relnotes.txt)
  752.     * FcbFindFirst/Next made compatible with MSDOS CHKDSK
  753.     * saved even more bytes (now 24 buffers in HMA :-)
  754.  
  755. from KE2024BM
  756. + added Tom:
  757.     * a mechanism, to regain near data (like miarray, bpbarray,...)
  758.       this is somewhat braindamaging, moving the kernel up and down,
  759.       working with different CS/DS combinations, but somehow working, :-)
  760.       miarray allocated, using this mechanism.  
  761.     * made f_nodes near (2 K saving in HMA_TEXT)
  762.       this technic might as well applied to CDs, DPB, sft's, ... 
  763.       this even saves a few bytes on stack :-)
  764.  
  765. from 2001 May 21: Build2024L
  766. + Fixes  Tom:
  767.     * Clustersize 64K made working (one small ULONG was missing)
  768.     * check for drive existence for INT25/26
  769.     * NDEV = max number of possible harddisk partitions bumped 
  770.       from 8 to 20 (my testconfiguration has 13)  
  771.  
  772. + Added  tom:
  773.     * LBA support for disks > 8GB (with the help from Brian
  774.     Reifsnyder, see also relnotes.txt)
  775.     * moved initialization for DISK (partition scanning) to INIT_CODE
  776.  
  777. 2001 Jun 2 - Build 2024
  778. -------- Bart Oldeman (bart@dosemu.org)
  779. + Fixes  Tom:
  780.     * small fixes again.
  781.     * one possible cause for data corruption (BFR_VALID) detected
  782.     * directories with 'ARCHIVE' attribute could not be deleted
  783.     * saved even more bytes (now 20 buffers in HMA :-)
  784.     * some issues with pathnames around PARSE_MAX removed
  785.     * blanks in filenames weren't proper handled
  786.     * there was (at rare circumstances) a buffer overflow 
  787.       while config.sys parsing.
  788. + Fixes  Bart:
  789.     * INT 21 0A - Dos Buffered Input reworked
  790.     * init_PSPSet() fix for setting the PSP
  791. + Added  tom:
  792.     * slighly better buffer handling (search BFR_UNCACHE)
  793.       now go more FAT+DIR sectors, less DATA sectors into cache
  794.     * dos_mkdir tuned (was ~0.5 sec on 64K cluster partitions)
  795.  
  796. 2001 Apr 29 - Build 2024
  797. -------- Bart Oldeman (bart@dosemu.org)
  798. + Fixes  Bart:
  799.      * fixed the "TYPE > FOO.TXT" poor man's editor.
  800.      * use "fast console output" (int 29) when applicable.
  801.      * moved 5 FILES to DOS DS:00CC and fixed the SFT linked list.
  802.      * cleaned up findfirst/findnext for redirected drives.
  803.      Tom:
  804.      * more VDISK changes (changed slightly by Bart)
  805.      * check for presence of A:/B: (changed by Bart to use the BIOS equipment flag
  806.         from INT11 instead of INT13).
  807.      * added F5/F8 stepping through config.sys; default SHELL=COMMAND.COM /P/E:256
  808.        Use ESC to stop single stepping, F5 to skip remaining config.sys/autoexec.bat.
  809.      * new sys: uses INT25/26 instead of the low level INT13 related kernel code from
  810.         floppy.asm (see also comments in sys.c) + a few fixes (also boot.asm related) 
  811.         from Bart.
  812.      * Hopefully fixed DateTime Changed + ATTRIB |= ARCHIVE bug.
  813.      * cleaned up dsk.c and saved more bytes.
  814.      Przemyslaw Czerpak:
  815.      * Default lastdrive should be 5 (E) not 6 (F).
  816.      * fixed not ignoring whitespace after '=' in config.sys
  817.      * noted INT21/AX=3800 bug for getting the country. Put in a workaround for now.
  818.      2001 Apr 21 - Build 2024
  819. -------- Bart Oldeman (bart@dosemu.org)
  820. + Fixes  Tom:
  821.          * fixed a missing close_dir in fatfs.c.
  822.          * many reductions of stack space requirements.
  823.          we hope this fixes some FAT corruption problems.
  824.          Bart:
  825.          * fixed "copy con" and INT21/AH=0B. The SFT_FEOF flag,
  826.            strangely enough, if true indicates NOT end-of-file.
  827.          * VDISK signature required in HMA (bug 701 dborca@usa.net).  
  828.          Alan Kamrowski
  829.          * fixed intr: it wasn't putting the flags back correctly
  830.            and swapped si and bp.
  831. + Update Bart:
  832.          * Changed initialization data segment to its code segment.
  833.            This frees up a few more kb.
  834.          * This required some header reorganisation:
  835.            init-mod.h is for the init modules, globals.h for all the
  836.            others.  
  837.          * Eliminated the master environment, as it is normally
  838.            managed by command.com, not by the kernel. This saves 512 
  839.            bytes and command.com now copies a default environment from
  840.            0068:0000; this is in the DOS_PSP at 60:0.
  841.          * Moved low memory code segment to 70:0.  
  842. + Add    Tom:
  843.          * Default interrupt 6 handler (invalid opcode).
  844. 2001 Apr 16 - Build 2024
  845. -------- Bart Oldeman (bart@dosemu.org)
  846. + Fixes  * Use turboc.cfg to avoid long command lines; edit ALLCFLAGS
  847.            in config.mak to enable DEBUG etc.
  848.          * Fixed critical error handler.
  849.          * Fixed loading .exe's in UMBs if not enough space available.
  850.          * Some device drivers require \r\n at the end of their
  851.            parameter line.
  852. 2001 Apr 16 - Build 2023
  853. -------- Bart Oldeman (bart@dosemu.org)
  854. + Fixes  * Thanks to Martin Stromberg for pointing some bugs out:
  855.          * more warnings fixed.
  856.      * accidentally opened too many file handles at boot time.
  857.      * device drivers should not be linked into the device chain
  858.        if they do not take up memory.
  859. + Add     * added printf "%S" and "%Fs" to print far strings.
  860.          * enabled and cleaned up INT21/AH=6C (extended open/create).
  861. 2001 Apr 15 - Build 2023
  862. -------- Bart Oldeman (bart@dosemu.org)
  863. + Fixes  Tom: 
  864.          * apisupt.asm not necessary anymore.
  865.          * fix warnings.
  866.          * Don't allow directories to be created in DOS_CREAT.
  867.          * LoadDevice: drivers should not hang the computer if they fail.
  868.          Bart: 
  869.          * fixed SYS.
  870.          * made most calls near again, with a jump/stack trick to 
  871.            switch between INIT_TEXT and HMA_TEXT.
  872.          * INIT_TEXT now calls INT21 itself for some things (setting
  873.            PSP, opening/reading/closing devices and (fd)config.sys).
  874.          * fixed some carry handling in inthndlr.c and 
  875.          * drives are checked before trying to access them.
  876.          * fixed console driver "busy state" confusion: the built-in
  877.            driver had it wrong, nansi.sys had it right:
  878.            "If no characters in buffer, return BUSY".
  879.          * space savings (RTL related and various other places)
  880.          * redirector fixes for find_next. 
  881.          * CREAT on a device file failed (FD said it already existed).
  882.            But for some reason it should not fail in DOS.
  883.          * get ATTRIB/other things on a device file should return 
  884.            FILENOTFOUND, not PATHNOTFOUND.
  885.            The sft_status field is not used for redirected drives.
  886.          * DosSelectDrv checks the media before setting the default
  887.            drive.
  888.          * Fixed INT21/AH=3,4,5 (character R/W AUX/PRN).
  889.          Hans Lermen: 
  890.          * critical error handler destroyed AH (entry.asm).
  891.          Martin Stromberg
  892.          * find_first for volume labels fix.
  893.          * check drive at more places and avoid drive "@:" for drive "':".
  894.          * config.m: comment out NASM= by default.
  895.          * printf fix with DEBUG on.
  896. + Add    Tom: Introduce init_data segment.
  897.               New temp file creation implementation.
  898.          Bart: added INT21/AH=53. XMSDSK works fine now.
  899.                dynamic allocation of Drive Parameter Blocks (they are
  900.                all FAR now).
  901. + Update Bart: moved DOS_PSP to segment 0x60 as segment 0x50 is already used by
  902.            GWBASIC/BASICA
  903.  
  904. 2001 Apr  2 - Build 2023
  905. -------- Bart Oldeman (bart@dosemu.org)
  906. + Fixes  Bart: Volkov Commander revealed a few bugs:
  907.       -int 21/ah=55 forgot to set current psp to child psp.
  908.         -memory allocation: mem_access_mode was a signed byte, and hence 0x80 was
  909.          translated to 0xff80 and not 0x0080 when converting to a COUNT. Hence
  910.          changed it to become a UBYTE.
  911.         -An error in memmgr.c: search again in low mem for modes 0x80,81,82, not
  912.          0x40,0x41,0x42
  913.      * execrh.asm & int2f.asm: made code executable on a 8088 (no push
  914.        constant)
  915.      * entry.asm: made sure dos_crit_sect is executed when required to.
  916.      * Another redirector fix. int 2f/1122 needed DS=current psp. This caused a
  917.            bug for me: after compiling FreeCOM on a redirected drive "dir" did not
  918.          work any more.
  919.      * The nansi.sys problem: as it was, the initialisation phase of nansi
  920.          called int/ah=30, which checked control-break, which checks the console
  921.          driver, which at that point is the still not initialized nansi. This
  922.          messed up the request header passed to it. A solution I found is to link
  923.          a device into the device chain _after_ initialisation, not before.
  924.      * Redirector fix: network.c uses fmemcpy instead of fsncopy.
  925.      * Fixed INT 21/AH=6 (direct console input).
  926.          Tom: 
  927.          * DE_NFILES instead of DE_FILENOTFOUND to allow Volkov Commander to browse empty
  928.            drives.
  929.          * Fixed bug wrt zero terminated device names (should be spaces terminated).
  930. 2001 Mar 30 - Build 2023
  931. -------- Bart Oldeman (bart@dosemu.org)
  932. + Fixes  Tom: Kernel alloc initialises to 0. This avoids some weird errors.
  933.               Implemented default divide by 0 handler (INT 0)
  934.               FILES= fixes from config.sys. fatfs.c ignored it and always
  935.               used the default of 16.
  936.               Misc debug code removal.
  937.               int 21/ax=3306 report running HIGH fix.
  938.               int 21/ah=69 : save CX
  939.               InitializeAllBPBs() or MakeNortonDiskEditorHappy()
  940.               More extended information if MCB chain corruption occurs.
  941.          Bart: getdpb fixes (int 21/ah=32).
  942.                fix carry handling in int 21/ah=5e.   
  943.                fix {get,set}_machine_name in network.c
  944.            saner lastdrive handling
  945. + Add    Support for SHELLHIGH in config.sys
  946. 2001 Mar 28 - Build 2023
  947. + Fixes  Bug fix release 2023b: dsk.c (reported by Nagy Daniel), inthndlr and
  948.      int25/26 fixes by Tom Ehlert.
  949. 2001 Mar 27 - Build 2023
  950. -------- Bart Oldeman (bart@dosemu.org)
  951. + Fixes  Bug fix release 2023a: fixed stack segment bug in entry.asm.
  952. 2001 Mar 25 - Build 2023
  953. -------- Bart Oldeman (bart@dosemu.org)
  954. + Fixes  sys.com compilation: it is a proper .com and works again.
  955.      Suggestions from Martin Stromberg: warning removal and some
  956.      debugging related changes.
  957.      Suggestion from Aitor Santamaria Merino: implemented NUMLOCK=ON/OFF
  958.          in config.sys. Also implemented strcasecmp.
  959.      Updated intfns.txt; reported version is now 5.0.
  960. 2001 Mar 24 - Build 2022
  961. -------- Bart Oldeman (bart@dosemu.org)
  962. + Fixes  Tom and Bart: cli/sti handling and other fixes in entry.asm,
  963.          procsupt.asm and apisupt.asm.
  964.          Bart: warning removal + other compile time fixes.
  965.          Tom: * more partition detection fixes in dsk.c.
  966.               * dos_gettime() fix.
  967. 2001 Mar 21 - Build 2022
  968. -------- Bart Oldeman (bart@dosemu.org)
  969. + Clean  A lot of space savings by Tom Ehlert, merely because Turbo C 2.01 does not
  970.          do it. And several more complicated situations as well, like coding some
  971.      string functions in assembly (asmsupt.asm).
  972. + Add    Tom Ehlert: support for DOS=HIGH. Now most of the kernel can be loaded into
  973.          the HMA. This required a lot of segmentation changes. Let's hope the best
  974.      of it. Support for device drivers with multiple devices.
  975. + Fixes  From Tom Ehlert:
  976.          task.c bug fix (image_size is in bytes)
  977.      dosfns.c change dir to E:\FREEDOS\*.PRJ fix
  978.      fcbfns.c fixes.
  979.      break.c Ctrl-C Ctrl-C -> crash temporary fix.
  980. + Fixes  From Bart:
  981.      Let UMBs work again after HMA changes.
  982.      Be able to compile sys.com again. Is now really a .exe file but still masks
  983.      as .com in the hope that we can make it a real .com again.
  984.      DeviceHigh loads low if there are not enough UMB's available.
  985.      Fixed another redirector problem.
  986. + Update Optimized asmsupt.asm a bit with help of the glibc 2.2 source.     
  987. + Fixes  Tom Ehlert and Brian Reifsnyder: fix partition detection in dsk.c + 
  988.          other bug fixes (also: floppy.asm).
  989. + Update Tom Ehlert optimized blockio.c.
  990. + Fixes  a few small ones from Tom I forgot.
  991.  
  992. 2001 Mar 08 - Build 2022
  993. -------- Bart Oldeman (bart@dosemu.org)
  994. + Fixes  MCB chain corruption fix (thanks Tom Ehlert and Martin Stromberg)
  995.          Redirector fixes (CDROMs and DOSEmu lredir'ed drives appear to work fine now)
  996.          UMB fixes
  997.          Various recodings (dsk.c, prf.c, portab.h) to make kernel 
  998.           object footprint 3k smaller (Tom Ehlert)
  999.          Fix handling of very long path names (Tom Ehlert)
  1000.          FindFirst/FindNext fixes (Tom Ehlert)
  1001.          Configuration for libm.mak is in config.mak (Martin Stromberg)
  1002.          NLS fix to include pointer to CharMapSrvc. Note: these are
  1003.           changes to automatically generated .asm files, but the
  1004.           generator (GRAB_UNF.EXE) is missing. (thanks Tom Ehlert)
  1005.          DosSelectDrv fix (Martin Stromberg)
  1006.          config.c always converts to upper case and handles dos=umb correctly
  1007.  
  1008. 2000 Dec 15 - Build 2022
  1009. -------- James Tabor (jimtabor@infohwy.com)
  1010. + Fixes     Added Patches from Bart Oldeman (bart@dosemu.org)
  1011.          Fix for NLAST in globals.h and change default return in inthndlr.c.
  1012.  
  1013. 2000 Oct 29 - Build 2022
  1014. -------- James Tabor (jimtabor@infohwy.com)
  1015.          Rebuild local cvs tree after a crash. Update CVS at Sourceforge.net
  1016.          with changes.
  1017.  
  1018. 2000 Sep 04 - Build 2022
  1019. -------- James Tabor (jimtabor@infohwy.com)
  1020. + ADD     Adding Ron Cemer patch for Share support!
  1021.  
  1022. 2000 Sep 04 - Build 2022
  1023. -------- James Tabor (jimtabor@infohwy.com)
  1024. + Fixes  Brian Reifsnyder (reifsnyderb@mindspring.com)
  1025.          Modified dskxfer() such that error codes are now returned.
  1026.          Functions that rely on dskxfer() have also been modified accordingly.
  1027.          Modified interrupts 0x25 & 0x26 to return more accurate error codes.
  1028.          Updated dskxfer() prototype.
  1029.  
  1030. 2000 Aug 15 - Build 2022
  1031. -------- James Tabor (jimtabor@infohwy.com)
  1032.          2000/08/12 22:49:00  Ron Cemer (roncemer@gte.net)
  1033.          Fixed writeblock() to only use getbuf() if writing a
  1034.          complete sector; otherwise use getbloc() and do a
  1035.          read-modify-write to prevent writing garbage back
  1036.          over pre-existing data in the file.
  1037.          This was a major BUG.
  1038.  
  1039. 2000 Aug 05 - Build 2021
  1040. -------- James Tabor (jimtabor@infohwy.com)
  1041.          Clean up and finish umb code to get 2021 out.
  1042.  
  1043. 2000 Jul 26 - Build 2021
  1044. -------- James Tabor (jimtabor@infohwy.com)
  1045. + Fix    New patch from Ron IsDevice and truename fix.
  1046.  
  1047. 2000 Jul 14 - Build 2021
  1048. -------- James Tabor (jimtabor@infohwy.com)
  1049. + Add    Added NLS patches from Steffen Kaiser and patch from Ron
  1050.          (roncemer@gte.net).
  1051.  
  1052. 2000 Jun 25 - Build 2021
  1053. -------- James Tabor (jimtabor@infohwy.com)
  1054. + Add    Add and Fix support for UMB's.
  1055.  
  1056. 2000 Jun 20 - Build 2021
  1057. -------- James Tabor (jimtabor@infohwy.com)
  1058. + Fix     Bart Oldeman (bart@dosemu.org) found bugs with copy
  1059.          command using Dosemu Lredir. Fixed Dosfns return for ReadCount, 
  1060.          WriteCount and  DosGetFattr. Fixed the return in int2f.asm for
  1061.          Read/Write Remote. By adding xor ax,ax.
  1062.          I found some more return bugs in int2f.asm after adding Barts
  1063.          patch.
  1064.  
  1065. 2000 Jun 08 - Build 2021
  1066. -------- James Tabor (jimtabor@infohwy.com)
  1067. + Add    Started the UMB code. Devicehigh and dos=umb only works with
  1068.          Dosemu for now.
  1069.  
  1070. 2000 Jun 07 - Build 2021
  1071. -------- James Tabor (jimtabor@infohwy.com)
  1072. + Add    Int2f added code for Fastopen call.
  1073.          Now MSD Scandisk works!
  1074.  
  1075. 2000 Jun 06 - Build 2021
  1076. -------- James Tabor (jimtabor@infohwy.com)
  1077. + Add    Dos Func 0x59 and found a redirector bug in fncfns.c.
  1078.  
  1079. 2000 Jun 01 - Build 2021
  1080. -------- James Tabor (jimtabor@infohwy.com)
  1081. + Fix    Lastdrive is a real number 1 thru 26 not 0 thru 25.
  1082. + Fix    Ioctl and Dsk did not return the currect AX for Ioctl calls.
  1083.  
  1084. 2000 Jun 01 - Build 2021
  1085. -------- James Tabor (jimtabor@infohwy.com)
  1086. + Clean  Removed test prinf statements in source.
  1087. * Thanks to Lixing Yuan for pointing out an copy to root error.
  1088.  
  1089. 2000 May 31 - Build 2021
  1090. -------- James Tabor (jimtabor@infohwy.com)
  1091. + Patch  Lixing Yuan (yuanlixg@china.com) Patch for parsing bug in 
  1092.      FindFirst with wildcards -> ParseDosName (dosnames.c).
  1093.  
  1094. 2000 May 28 - Build 2021
  1095. -------- James Tabor (jimtabor@infohwy.com)
  1096. + Added  Open/Close/Media check to dsk.c and io.asm.
  1097. + Fixed  Device checking in truename. Truename needs to be rewriten.
  1098.  
  1099. 2000 May 26 - Build 2020
  1100. -------- James Tabor (jimtabor@infohwy.com)
  1101.          Code Clean up and Now the Release.
  1102.  
  1103. 2000 May 26 - Build 2020
  1104. -------- James Tabor (jimtabor@infohwy.com)
  1105. + Fixed  IsDevice is used in FcbFns.c and DosFns.c. I removed IsDevice
  1106.          from DosNames.c an placed it in DosFns.c. FcbFns had dup code
  1107.          and it was removed. This fixed all the functions using IsDevice.
  1108.  
  1109.          Truename works now. I consider it dangerous and brain damaged.
  1110.          Note: 
  1111.           truename X:\DIR\con -> X:/CON, note the '/'.
  1112.           truename foo*.* -> X:\DIR\FOO?????.???
  1113.           truename *.*\*.*\*.* -> ????????.???\????????.???\????????.???
  1114.           truename *.*\*.**\*.* -> endless Loop
  1115.              I will fix this later ;^)
  1116.  
  1117.          Found InitPSP running 3 time. On the 2'nd run the standard handles
  1118.          were closed with out DosClose. Now Device Drivers can Print out
  1119.          there startup info.
  1120.  
  1121. + Added  New IOCTL code in Dsk.c.
  1122.  
  1123. 2000 May 26 - Build 2020
  1124. -------- James Tabor (jimtabor@infohwy.com)
  1125. + Fix    Kolyan Ksenev (7207@mx.csd.tsu.ru) (nik0la@acm.org)
  1126.          found Major bugs in Task.c and chario.c.
  1127.  
  1128. 2000 May 25 - Build 2020
  1129. -------- James Tabor (jimtabor@infohwy.com)
  1130. + Fixed  Project history.
  1131.  
  1132. 2000 May 17 - Build 2020
  1133. -------- James Tabor (jimtabor@infohwy.com)
  1134. + Fixed  Delete, Rename, Mkdir, and Rmdir. Comment out isDevice. There is
  1135.          a serious bug in isDevice. 
  1136. + Added  Finished adding function code for disk serial number support.
  1137. + Clean  Cleaned up source and removed duplicate functions.
  1138.  
  1139. 2000 May 14 - Build 2020
  1140. -------- James Tabor (jimtabor@infohwy.com)
  1141. + Clean  Cleaned out the remaining CR's.
  1142.  
  1143. 2000 May 08 - Build 2020
  1144. -------- James Tabor (jimtabor@infohwy.com)
  1145. + Update Started Update to the New CVS at Sourceforge.net. Setting source
  1146.          from 2018 to 2020.
  1147.  
  1148. 2000 May 06 
  1149. -------- Jim Hall (jhall1.isd.net)
  1150. + Import Jim Hall imported the CVS from gcfl.net to Sourceforge.net.
  1151.  
  1152. 2000 Apr 28 - Build 2020
  1153. -------- James Tabor (jimtabor@infohwy.com)
  1154. + Added  Dos Function calls 0x69, and 0x6C. IOCTL support in disk driver.
  1155.          New functions not yet fully implemented. 
  1156.          Clean up DSK.C, IOCTL.C and FCBFNS.C. Removed old blk_device
  1157.          pointers.
  1158.  
  1159. 2000 Apr 03 - Build 2020
  1160. -------- James Tabor (jimtabor@infohwy.com)
  1161. + Fixed  All DPB chains were linking to -1.
  1162.  
  1163. 2000 Apr 02 - Build 2020
  1164. -------- James Tabor (jimtabor@infohwy.com)
  1165. + Fixed  Dos_Free returned wrong due to MaxCluster Calc.
  1166.      Media_Check MaxCluster count wrong, needed +1.
  1167.  
  1168. 2000 Apr 01 - Build 2020
  1169. -------- James Tabor (jimtabor@infohwy.com)
  1170. + fixed  Unable to cd back out of cdrom directories.
  1171.  
  1172. 2000 Mar 31 - Build 2019
  1173. -------- James Tabor (jimtabor@infohwy.com)
  1174. + added Eric W. Biederman patches via CVS.
  1175.  
  1176. + 2000 Mar 25 
  1177. + -------- Eric Biederman
  1178. + Fixed     Lastdrive handling
  1179. + Fixed     Not enough drives for number present devices
  1180. + Added    Working (though not perfect network redirector)
  1181.            Note: Error codes internal to freedos are negative
  1182.                  Error codes external to freedos are postive.
  1183.                  The network redirector is external to freedos...
  1184.            Note: Running the nonredirected functions on a redirected
  1185.                  drive is dangerous.   My patch is very careful
  1186.                  not to.  Except in truename.  Where (a) it is safe
  1187.                  and (b) I think it is required, and (c) it is needed
  1188.                  by dosemu.
  1189.  
  1190. 2000 Mar 19 - Build 2019
  1191. -------- James Tabor (jimtabor@infohwy.com)
  1192. * Jean-Francois <lozevis.jeanfrancois@free.fr> email noting
  1193.   the set/clear interrupt was reverse in order.
  1194.  
  1195. 2000 Mar 17 - Build 2019
  1196. -------- Steffen Kaiser (Steffen.Kaiser@fh-rhein-sieg.de)
  1197. + Fixed Config.c COUNTRY= statement
  1198. + Fixed *.c to call upFMem() when upcasing filenames
  1199. - Removed everything to load NLS into memory
  1200. = Redesigned hardcoded NLS information
  1201.  
  1202. --> The kernel will now return the proper information for the
  1203.     hardcoded NLS (U.S.A. / CP437), it would return the correct
  1204.     information for other NLS, too, if there would be a NLSFUNC
  1205.     available, which is not at this time.
  1206.  
  1207. NOTE: The way the external NLSFUNC is called does not look well, 
  1208. therfore expect a change soon.
  1209.  
  1210. 2000 Mar 15 - Build 2019
  1211. -------- James Tabor (jimtabor@infohwy.com)
  1212. * Dennis Newbold and Massimo De Munari email kernel bug reports
  1213.   with changes to Globals.h and Inthndlr.c. Fix to leap year and
  1214.   Delete file return code.
  1215. * Michal Meller found a bug in media_check. It return the wrong
  1216.   value of sector count. Change in FATFS.C.
  1217. * Fixed Func 0x32 based on information from Marty <k3pbu@arrl.net>.
  1218.   Func 0x32 Get Drive Parameter BLK did not work.
  1219.  
  1220. 2000 Mar 09 - Build 2018
  1221. -------- James Tabor (jimtabor@infohwy.com)
  1222. Added   CDS and made FD CDS based. Changes encompass all of the
  1223.     code for FD.
  1224. Fixed   Task.c, rewritten code from FINODE to SFT function calls.
  1225.     Unable to execute from CD. Main.c and Config.c has small
  1226.     changes.
  1227. Fixed   Device drivers are unable to write to con. Rewritten code to
  1228.     relocate DOS_PSP pointer to 050:0000. Removed references to
  1229.     DOS_PSP in DosFns.c.
  1230. Added   Network and Redirection function calls in Inthndlr.c and
  1231.     network.c.
  1232.  
  1233. I have a note in FatFs.c line 313, describing functions not yet
  1234. supported for networking. I don't understand Pats thoughts on SFT to
  1235. FINODE. IMHO it would have been easier to stay with SFT all through
  1236. the code.
  1237.  
  1238. I tested MS-Dos 6.22 Command and found it unable to do Find First or
  1239. Next. This too could explain why MSCDEX does the same thing. I only
  1240. test this with the current FDCommand at the time, so this could have
  1241. changed.
  1242.  
  1243. 1999 Sep 24 - Build 2017
  1244. -------- John Price (linux-guru@gcfl.net)
  1245. * Per Jens Horstmeier's email, changed boot sector code to make
  1246.   Siemens CDROM's bootable.  The changes should be OK for all other
  1247.   machines too (in theory).
  1248.  
  1249. 1999 Sep 22 - Build 2016
  1250. -------- John Price (linux-guru@gcfl.net)
  1251. * Turned off debug output from the kernel.  It does not seem to be
  1252.   necessary at this time.
  1253. * Changed boot sector to do single-sector reads instead of
  1254.   multi-sector reads.  Appearantly this was part of the reason the
  1255.   kernel would not boot from a 720K, or other format floppies.  Thanx
  1256.   to Charles Dye for the info.
  1257.  
  1258. 1999 Sep 16 - Build 2016
  1259. -------- James Tabor (jimtabor@infohwy.com)
  1260. * Added Networking and Server Call
  1261. * Added Dos Idle call
  1262. * fixed Console.asm ConInStat
  1263.  
  1264. 1999 Sep 13 - Build 2014
  1265. -------- John Price (linux-guru@gcfl.net)
  1266. * Deleted some files from the drivers directory that were not being
  1267.   used.
  1268. * Changed the LIB.MAK file so it would work for TC2 or TC3 or higher.
  1269. * Changed SYS.COM so that it creates a sys.log file with more debug
  1270.   information to help debug problems with making boot disks.
  1271.  
  1272. 1999 Sep 13 - Build 2014
  1273. -------- James Tabor (jimtabor@infohwy.com)
  1274. * Submitted changes to CONSOLE.ASM & INTHNDLR.ASM to fix the INT21
  1275.   func 0B bug.
  1276.  
  1277. 1999 Sep 13 - Build 2014
  1278. -------- Helmut Fritsch (helmut.fritsch@gcd-hs.de)
  1279. * Submitted changes to CONSOLE.ASM to fix the INT21 func 0B bug.
  1280.  
  1281. 1999 Sep 10 - Build 2014
  1282. -------- ror4 (f2xm1@crosswinds.net)
  1283. * At the suggestion of Mr John Price, modified the int 0x25 and int
  1284.   0x26 so that they no longer update the disk buffers (int 0x26 only
  1285.   invalidates the buffers for the specified drive). This is to avoid
  1286.   inconsistent disk buffers from appearing in the buffer chain due to
  1287.   interactions between int 0x25/0x26 and file read/write operations.
  1288.  
  1289. 1999 Aug 24 - Build 2013
  1290. -------- John Price (linux-guru@gcfl.net)
  1291. * With ideas from ror4, I redid the build batch file so you can
  1292.   specify where what make to use.
  1293. * Also created CONFIG.M and CONFIG.B which should be copied to
  1294.   CONFIG.MAK and CONFIG.BAT, respecively, and edited to reflect the
  1295.   users configuration.  This keeps new versions from replacing the
  1296.   configuration files so the user does not have to keep reseting
  1297.   their configutation.
  1298.  
  1299. 1999 Aug 15 - Build 2013
  1300. -------- ror4 (ror4@angelfire.com)
  1301. * Patched the source so that it can be compiled with Turbo C 2.01.
  1302.   (`asm' statements were rewritten into very ugly equivalents... they
  1303.   probably need more work. :( )
  1304. * Modified the `dmatch' structure in `hdr/dirmatch.h' so that the
  1305.   `dm_dirstart' field is in the right place, and also to make it
  1306.   compile under TC 2.01, which doesn't allow bit fields of any types
  1307.   other than signed or unsigned int.
  1308. * Fixed a few minor bugs in error code returning in `kernel/fatfs.c'.
  1309.  
  1310. 1999 Jul 16 - Build 2012
  1311. -------- ror4 (ror4@iname.com)
  1312. * Finally ported all the assembly modules to `nasm'. *phew*
  1313. * Undid plonee's patches to `kernel/fatfs.c' (sorry). They were
  1314.   causing the resulting findfirst/findnext DTA structures to be
  1315.   incompatible with MSDOS's.
  1316. * Also rewrote all the pattern copying code in `dos_findfirst' in
  1317.   `kernel/fatdir.c' to prevent a bad buffer overflow problem.
  1318. * Modified the disk buffer handling code, so that logical sector
  1319.   numbers in disk buffers are now 0-based instead of 1-based.
  1320. * int 0x25 and int 0x26 now do multi-sector reads/writes.
  1321.  
  1322. 1999 Jul 14 - Build 2012
  1323. -------- ror4 (ror4@iname.com)
  1324. * Ported the modules in the `drivers/' branch to `nasm'.
  1325.  
  1326. 1999 May 04 - Build 2011
  1327. -------- ror4 (ror4@cryogen.com)
  1328. * Fixed the code for converting day numbers into Julian calendar
  1329.   dates: the first and last days of each month are now returned
  1330.   correctly.
  1331. * Undid a change to the code to get the day of the week.
  1332.  
  1333. 1999 May 02 - Build 2011
  1334. -------- John Price (linux-guru@gcfl.net)
  1335. * blockio.c: changed getblock and getbuf so that they leave at least
  1336.   3 FAT type buffers valid.  This helps because the FAT is accessed
  1337.   very often compared to other sectors.
  1338. * fatfs.c: Fixed a bug in map_cluster so it will optimize FAT reads
  1339.   on disks that have more than one sector per cluster.  This
  1340.   sigificantly improved disk access of big files on hard drives.
  1341.  
  1342. 1999 May 02 - Build 2011
  1343. -------- ror4 (ror4@cryogen.com)
  1344. * Corrected the `struct buffer' definition in `kernel/globals.h' so
  1345.   that it corresponds exactly to Ralf Brown's description of a DOS 3.x
  1346.   buffer.
  1347. * Also fixed the problem with FATs > 255 sectors, by making use of an
  1348.   originally unused field in the buffer structure.
  1349.  
  1350. 1999 May 01 - Build 2011
  1351. -------- ror4 (ror4@cryogen.com)
  1352. * Fixed a problem which caused disk corruption on partitions with
  1353.   FATs larger than 127 sectors. (However, FATs larger than 255
  1354.   sectors may still experience problems -- this is due to a
  1355.   limitation of the DOS 3.x buffering scheme.)
  1356. * Fixed a bug in the handling of the `stacks=' command in
  1357.   `(fd)config.sys' which caused the system to behave strangely.
  1358.  
  1359. 1999 Apr 22 - Build 2011
  1360. -------- Steffen Kaiser (Steffen.Kaiser@fh-rhein-sieg.de)
  1361. bugfix: memmgr.c: Invalid returned largest size in MemLargest()
  1362. fix: memmgr.c: DosMemLargest: change prototype to match its useage
  1363. bugfix: inthdlr.c: 0x49: ES is decremented
  1364. fix: inthdlr.c: 0x00: DosMemCheck() does nothing --> added panic()
  1365. fix: inthdlr.c: 0x4c: DosMemCheck() does nothing --> added panic()
  1366. fix: inthdlr.c: 0x00: changed to make it the same as DOS-4C-00
  1367.     Both actions differed e.g. in ErrorMode
  1368. chg: memmgr.c: the 'name' field of the MCB is never initialized by
  1369.     DOS-48, DOS-49 or DOS-4A. Leave this to the program loading function.
  1370. bugfix: memmgr.c: adjust_far() / add_far():
  1371.     Both function together (and the way they are used) don't make sense:
  1372.     adjust_far() normalizes a far pointer, add_far() generates a linear
  1373.     address. Usually both are used this way:
  1374.         far_poi = adjust_far(far_poi);
  1375.         while(...) {
  1376.             ...
  1377.             far_poi = add_far(far_poi, uword);
  1378.             ...
  1379.         }
  1380.     First one makes sure that 'far_poi' is normalized, then far_poi
  1381.     becomes a linear address, which makes it very difficult to use
  1382.     it, because the possibility to get a segment warp gets very high.
  1383.     -->
  1384.         Change: add_far() also returns a normalized real mode pointer
  1385.         as adjust_far() does.
  1386.     Probably in DOS-C supporting various architecures thee functions
  1387.     served other duties, but the current useage is highly dangerous.
  1388. bugfix: task.c: ChildEnv(): nEnvSize didn't counted the last '\0'
  1389. bugfix: task.c: ChildEnv(): Allocation: maximum absolute filename to
  1390.     short and forgot the word counter
  1391. bugfix: task.c: ChildEnv(): for very corrupt environments, the
  1392.     copy function failed.
  1393. bugfix: task.c: DosExeLoader(): If exe_size > allocated_size or
  1394.     DosMemLargest() failes, the environment is not deallocated
  1395. bugfix: task.c: DosExeLoader(): Calculating the exe_size to be
  1396.     allocated. At both places (+ header.exMinAlloc & ...MaxAlloc)
  1397.     sizeof(psp) is added to exe_size. Why? image_size already
  1398.     contains sizeof(psp).
  1399. chg: task.c: DosExeLoader()/DosComLoader(): MCB patching and command
  1400.     line copying is no outside of those functions
  1401. chg: asmsupt.asm: _fbcopy: re-use parts of _bcopy
  1402. add: asmsupt.asm: fmemset, fmemclr, fmemclra {Replace the explicit
  1403.     for() loops}
  1404.  
  1405. 1999 Apr 22 - Build 2011
  1406. -------- ror4 (ror4@cryogen.com)
  1407. * Ported boot.asm to NASM.  The plan is to port all assembly to NASM
  1408.   over time.
  1409.  
  1410. 1999 Apr 19 - Build 2010
  1411. -------- John Price (linux-guru@gcfl.net)
  1412. * Undid the change I made to getblock below because it DID NOT speed
  1413. anything up, and in fact slowed access down.
  1414.  
  1415. 1999 Apr 18 - Build 2009
  1416. -------- John Price (linux-guru@gcfl.net)
  1417. * change getblock so that it flushes all buffers for a drive when it
  1418.   has to flush one of them to make room.  This should speed disk
  1419.   access slightly.
  1420. * Change the boot sector so there is a compile-time option to use
  1421.   multi-sector IO or single-sector IO.  The default is multi since
  1422.   ror4 seemed to have fixed the problem we had before.
  1423.  
  1424. 1999 Apr 18 - Build 2009
  1425. -------- ror4 (ror4@cryogen.com)
  1426. * The boot sector can now load the kernel properly from a hard disk.
  1427. * Other minor changes.
  1428.  
  1429. 1999 Apr 16 - Build 2008
  1430. -------- ror4 (ror4@cryogen.com)
  1431. * Modified the block device driver to prepare it for multi-sector I/O
  1432.   support.  Among other things, the driver can now handle transfer
  1433.   buffers which cross DMA boundaries.
  1434. * Some other minor changes.
  1435.  
  1436. 1999 Apr 15 - Build 2008
  1437. -------- John Price (linux-guru@gcfl.net)
  1438. * Changed mainly the map_cluster function in fatfs.c so that instead
  1439.   of starting at the beginning of the FAT chain every time, it will
  1440.   be smart about it, and start at the last FAT location that it was
  1441.   before if it can.  This speeds up disk access considerably
  1442.   especially on slower machines.
  1443.  
  1444. 1999 Apr 15 - Build 2008
  1445. -------- Steffen Kaiser (Steffen.Kaiser@fh-rhein-sieg.de)
  1446. bugfix: ^Break handler according cmt1.txt
  1447. bugfix: DosCreat(): Detection for Devices and extension:
  1448.     the semi-colon behind if(*froot) is definitely wrong, whether
  1449.     one wants CON.EXT to be interpreted as CON or not.
  1450. bugfix: DosOpen(): dito
  1451.  
  1452. * Re-implementation of ^Break handler -- 1999/03/27 ska
  1453.   + Warning: The handle_break() function assumes that the InDOS flag
  1454.   was incremented (except if ErrorMode is true). Never call
  1455.   handle_break() unless the InDOS flag has been incremented within
  1456.   this reentrant call of DOS.
  1457.  
  1458.   + ^Break is detected and handled at certain places within the
  1459.   kernel only:  a) within the CON: device when reading or writing a
  1460.   character, and b) when entering the INT-21 service (if extended
  1461.   break checking is enabled).  At these places the process flow can
  1462.   be modified to: either a) redo the interrupted function or b) abort
  1463.   the currently running process.
  1464.  
  1465.   + Both actions are performed by switching back to the user stack
  1466.   and enter INT-21 handler again. If to terminate the program, AX is
  1467.   modified into 4C00h.
  1468.  
  1469.   + By default, if the user has no ^Break handler installed, the
  1470.   program is terminated.
  1471.  
  1472.   + Heavy change: The original implementation installed an unique
  1473.   INT-23 handler that directly called the actions performed
  1474.   DOS-4C-XX.  In fact, this was identically with when the user had an
  1475.   own handler installed and returned the Carry flag set, except that
  1476.   it was somewhat quicker, because the kernel need not decode the
  1477.   4C00h command.  Now the Carry flag is set prior the call of INT-23,
  1478.   so the default action is to terminate the program.
  1479.  
  1480.   + Note: INT-23 is called with all registers as they are passed to
  1481.   the INT-21 entry. When they are modified, they are passed
  1482.   _modified_ to the API interpreter. This also allows the DOS1-style
  1483.   termination by to load register AH with 0 (zero).
  1484.  
  1485.   + RBIL says:
  1486.      "any DOS call may safely be made within the INT 23 handler,
  1487.      although the handler must check for a recursive invocation if it
  1488.      does call DOS"
  1489.   This can be interpreted so or so, the problem is that the user can
  1490.   call DOS again, what would overwrite the saved _usr_stack pointer
  1491.   with a different value and, therefore, cannot be used to check if
  1492.   INT-23 was returned by RETF or RETF2/IRET.
  1493.  
  1494.   Because a recursive invokation of INT-23 is to prevented by the
  1495.   user, the kernel could internally save SP to somewhere else.
  1496.   However:
  1497.   a) where?
  1498.   b) is it reliable that the user ever returns from INT-23 at all?
  1499.  
  1500.   The implemented method uses the same mechanism as fail-safe intr()
  1501.   function is implemented: A little piece of code is constructed
  1502.   within the stack, which contains the value of SP as an operand of
  1503.   an immediate MOV instruction.
  1504.  
  1505.  
  1506. 1999 Apr 13 - Build 2007
  1507. -------- ror4 (ror4@cryogen.com)
  1508. * The boot sector now moves itself to the last 512 bytes of
  1509.   conventional memory instead of a lower memory location.
  1510. * The kernel startup code has also been modified so that it works
  1511.   with the new boot sector.
  1512.  
  1513. 1999 Apr 12 - Build 2007
  1514. -------- ror4 (ror4@cryogen.com)
  1515. * The directory scanning functions (`findfirst'/`findnext') now also
  1516.   recognize more flavours of the volume label attribute byte (namely
  1517.   0x09, 0x28 and 0x29).
  1518. * Subdirectories are now no longer assumed to have the same size as
  1519.   the root directory.
  1520. * `device/device.lib' is now included as a dependency in the kernel
  1521.   makefile.
  1522. * Removed several unused assembler modules from the `device/' branch
  1523.   (see `device/device.mak').
  1524.  
  1525. 1999 Apr 11 - Build 2007
  1526. -------- ror4 (ror4@cryogen.com)
  1527. * The kernel now reads times from the system clock (0x40:0x6c)
  1528.   instead of the RTC. The RTC is only used during startup to
  1529.   initialize the system clock. (As a side effect of this,
  1530.   `ReadATClock' has been moved from `_TEXT' to `INIT_TEXT'.)
  1531. * Checking for leap years is now improved -- year numbers which are
  1532.   divisible by 100 but not by 400 are not counted as leap years. (Not
  1533.   that it matters for year 2000, though.)
  1534. * The scaling factor used to convert the system time count to a
  1535.   second count has been changed from 18.2 to the more accurate (?)
  1536.   19663/1080.
  1537. * Day numbers used by `clock$' are now 0-based (as in MSDOS) instead
  1538.   of 1-based. Thus 1 Jan 1980 is now day number 0.
  1539.  
  1540. 1999 Apr 10 - Build 2007
  1541. -------- ror4 (ror4@cryogen.com)
  1542. * Added code to prevent the kernel from returning path names
  1543.   containing double backslashes.
  1544.  
  1545. 1999 Apr 9 - Build 2007
  1546. -------- ror4 (ror4@usa.net)
  1547. * File handles are now cloned properly when a child process is spawned.
  1548. * The `DosClose' function now also frees SFT entries corresponding to
  1549.   devices, not only those entries corresponding to files.
  1550. * Removed a (minor) memory corruption bug in the code for int 0x21,
  1551.   ah = 0x09.
  1552.  
  1553. 1999 Apr 6 - Build 2007
  1554. -------- ror4 (ror4@cryogen.com)
  1555. * Functions ax = 0x5700 and 0x5701 (get/set file date and time) now
  1556.   return the right values at the right times. (They used to return
  1557.   success when there's an error, and return error when there's a
  1558.   success.)
  1559. * Removed the `/k' switch to the linker in `sys/sys.mak'.
  1560.  
  1561. 1999 Apr 4 - Build 2006
  1562. -------- John Price (linux-guru@gcfl.net)
  1563. * added "version=" directive so that you can change the version that
  1564.   the kernel reports.  Usage: version=<major>.<minor> (i.e.
  1565.   version=6.22)
  1566.  
  1567. 1999 Apr 4 - Build 2006
  1568. -------- ror4 (ror4@usa.net)
  1569. * Fixed the file name parsing function (`ParseDosNames') so that it
  1570.   handles single-character path names correctly.
  1571. * Also modified the functions which call `ParseDosNames' to check its
  1572.   return value instead of assuming that it is always successful.
  1573.   (This is not currentl useful, but it will be when error checking is
  1574.   introduced into `ParseDosNames'. In other words, there'll be more
  1575.   changes to `ParseDosNames' in the near future...)
  1576.  
  1577. * After wondering for a long time why the kernel text segment was
  1578.   always getting corrupted when I ran DJGPP `bash' 1.14.7, I finally
  1579.   decided to examine the code occurring before the handler for int
  1580.   0x21, ah = 0x60, and I found out why... :)
  1581. * Fixed the problem of int 0x21, ax = 0x5d06 causing memory
  1582.   corruption.
  1583. * Corrected the types of `internal_data', `swap_always' and
  1584.   `swap_indos' in `kernel/globals.h'.
  1585.  
  1586. * Improved checking for invalid file names in `ParseDosName'
  1587.   (although I'm still not sure whether the check is water-tight or
  1588.   not).
  1589. * Changed the default path setting from `PATH=' to `PATH=.'.
  1590.  
  1591. * Output from character I/O functions now goes to standard output as
  1592.   it should, instead of the console. Also, there's now a clear
  1593.   distinction between console input/output and standard input/output.
  1594. * Tabs are now expanded during writes to the console device.
  1595. * Removed a hard-wired limit on the number of entries in a JFT.
  1596.   (Although I'm not sure whether this is really correct...)
  1597. * Many other changes to the file descriptor handling code.
  1598.  
  1599. 1999 Mar 29 - Build 2006
  1600. -------- John Price (linux-guru@gcfl.net)
  1601. * Changed boot loader so it prints some feedback info while booting.
  1602.   Removed code to handle FAT12 and FAT16, and code to calculate the
  1603.   start of the fat, rootdir, and data.  Moved these functions into
  1604.   the sys command.  Now there are two versions of the boot loader
  1605.   created, one to handle FAT16, and one for FAT12.  These are
  1606.   hard-coded into the sys command, so the need for the boot.bin file
  1607.   is obsolete.
  1608. * created a new program (bin2c) to convert the boot loader binary
  1609.   file into a header file that can be included in the sys program as
  1610.   an array of bytes.
  1611.  
  1612. 1999 Mar 29 - Build 2006
  1613. -------- ror4 (ror4@usa.net)
  1614. * Changed the class of `_BSSEND' from "STACK" to "BSS" in the
  1615.   `drivers/' branch (which I forgot about in my last patch).
  1616. * Removed all traces of the `CONST' segment, since it was causing
  1617.   `IGROUP' to be assimilated into `DGROUP', which shouldn't happen.
  1618. * Added a `(void)' cast to the `setvec' macro in `kernel/globals.h'
  1619.   (`setvec' no longer returns the original ISR vector).
  1620. * Changed an incorrect error message in `sys/sys.c'.
  1621. * Removed `drivers/setvec.asm', since it's no longer needed.
  1622. * Also removed `kernel/krnstart'.
  1623. * The name field in a process's MCB is now filled in the same manner
  1624.   as in MSDOS -- instead of being padded to the right with spaces, it
  1625.   is now terminated with '\0'. Also, if the original file name
  1626.   doesn't have an extension, the code will stop copying the file name
  1627.   at '\0' instead of continuing to look for a '.'.
  1628. * Fixed the problem of the `switchar' syscall (int 0x21, ax = 0x3700) not
  1629.   returning the correct value.
  1630.  
  1631.  
  1632. 1999 Mar 28 - Build 2005
  1633. -------- ror4 (ror4@usa.net)
  1634. * Removed the need for `ipl.sys'. (!) The kernel makefile now
  1635.   statically relocates `kernel.exe' to 0x60:0 and outputs the
  1636.   resulting binary to `kernel.sys', and the boot sector has also been
  1637.   modified to load `kernel.sys' at 0x60:0 instead of `ipl.sys' at
  1638.   0x2000:0. (I chose 0x60:0 because it's the first 512-byte boundary
  1639.   occurring after the BIOS data area, 0x40:0.) Finally, `sys.com' has
  1640.   also been updated.
  1641.  
  1642. * Also changed the boot sector code in some other ways. In
  1643.   particular, because `kernel.sys' is rather large, I had to add some
  1644.   code to move the boot sector away from 0:0x7c00 to somewhere
  1645.   higher. (For 640K systems the boot sector will be shifted to
  1646.   0x6000:0x7c00. However, there may be problems on systems with very
  1647.   little conventional memory -- I'll probably look into this later.)
  1648.  
  1649. * Made some minor changes to the assembler source files so that they
  1650.   can compile on `masm'. (JP: The code still compiles fine with tasm
  1651.   too).
  1652.  
  1653. * Also changed several incorrect label references in the assembler
  1654.   sources. (JP: These changes fixed the "Fixup" errors we been
  1655.   talking about in the list)
  1656.  
  1657. * Eliminated redundant re-makes of files in the various makefiles.
  1658.   For one thing, `*.cfg' files are no longer generated from the
  1659.   makefiles, but are independent from them. (I didn't like the idea
  1660.   of having to compile an entire branch each time I edit a
  1661.   makefile...) Also, intermediate files are now retained instead of
  1662.   deleted.
  1663.  
  1664. * Also made some changes to `build.bat' (you'll know them when you
  1665.   see them).
  1666.  
  1667. * Added a file `lib/libm.mak'
  1668.  
  1669. * Added a file `kernel/krnstart
  1670.  
  1671. * The code required to initialize the kernel (or rather most of it)
  1672.   is no longer retained in memory after the initialization process is
  1673.   done. I accomplished this by moving most of the initialization code
  1674.   from `_TEXT' to a new segment named `INIT_TEXT'. Of course, I also
  1675.   had to introduce lots of other changes in order for everything to
  1676.   compile and run properly:
  1677.   - Added code to `kernel/src/kernel/kernel.asm' to move the contents
  1678.     of `INIT_TEXT' to the top of conventional memory and continue
  1679.     from there.  Control is only transferred back to `_TEXT' when the
  1680.     kernel calls `p_0'.
  1681.   - Many functions are called from both `_TEXT' and `INIT_TEXT'. To
  1682.     fix this, I created far wrappers for these functions which can
  1683.     then be called from `INIT_TEXT'. (E.g. for `execrh' there's a
  1684.     corresponding far function named `init_call_execrh' which simply
  1685.     calls `execrh' with its own parameters.) One exception to this is
  1686.     `printf' -- instead of creating a far wrapper for a near
  1687.     `printf', I created a near wrapper for a far `printf' (now called
  1688.     `init_call_printf'), because it was easier that way. :)
  1689.   - Most functions which are required only during initialization time
  1690.     were shifted into `INIT_TEXT'. (There are still some functions
  1691.     which should rightfully go into `INIT_TEXT', but are retained in
  1692.     `_TEXT' as far functions, because I found it too difficult to
  1693.     move them out. :( ) Because Turbo C only allows at most one code
  1694.     segment to be defined for each module, I had to shift some
  1695.     functions around within the source tree -- the file
  1696.     `kernel/src/kernel/proto.h' says it all.
  1697.   - A cosmetic change mentioned here for completeness: all functions
  1698.     defined in `INIT_TEXT' are now marked with the word `INIT' (in
  1699.     fact a null macro) so that the reader can easily distinguish them
  1700.     from functions defined in `_TEXT'.
  1701.  
  1702. * Replaced `exit' calls with `for (;;);'.
  1703.  
  1704. * Changed `strcpy' into a macro which calls `scopy'.
  1705.  
  1706. * Also redefined `setvec' to be a macro (I didn't want to waste time
  1707.   writing a far wrapper for it).
  1708.  
  1709. * Removed the `break_key' function in `kernel/src/kernel/kernel.asm'.
  1710.  
  1711. * `low_int25_handler' and `low_int26_handler' are now of type
  1712.   `void interrupt far()' instead of `void near()'. (I hope I updated
  1713.   `entry.asm' correctly -- I never tested `int 0x25' and `int 0x26'...)
  1714.  
  1715. * Changed the class of `_BSSEND' from "STACK" to "BSS" -- "STACK" is
  1716.   now used for a separate stack segment (`_STACK').
  1717.  
  1718. * Assembler modules now include `segs.inc' instead of having their
  1719.   own long list of segment definitions. (Some day I'll update the
  1720.   makefile dependencies to reflect this.)
  1721.  
  1722. * Also made a few minor changes to the assembler modules so that
  1723.   `masm' won't complain.
  1724.  
  1725. * Changed the `-X' switch in `kernel.cfg' to `-X-', so that I don't
  1726.   have to worry about C module dependencies.
  1727.  
  1728. * Removed the definition of `CFLAGS' from the makefile -- everything
  1729.   is now in `kernel.cfg'.
  1730.  
  1731. * Created a file `kernel/src/kernel/init-mod.h' which is included by
  1732.   modules whose code is supposed to go into `INIT_TEXT' instead of
  1733.   `TEXT'.
  1734.  
  1735. * This diff solves the problem of the MCB of a process not having a
  1736.   correct value in its name field (bug report #6).
  1737.   (The definition of the `toupper' macro is because I shifted the
  1738.   `toupper' function into `INIT_TEXT' a while ago, and therefore
  1739.   can't be called from `_TEXT' now...)
  1740.  
  1741.  
  1742. -------- John Price (linux-guru@gcfl.net)
  1743. * Made changes so you can create a directory with the same name as a
  1744.   volume label, but you still can't rename or delete it!
  1745.  
  1746. * Fix findfirst and findnext functions so that act as they should.
  1747.   (i.e. If the attrib has only the volume label set, then it returns
  1748.   the volume label entry in the root directory, else it returns the
  1749.   files/directories that are specified with the attrib, ignoring the
  1750.   read-only and archive bits (these are always returned).
  1751.  
  1752. * reorginize the source tree.  Removed IPL directory, and command.
  1753.   Moved all the file system C files into the kernel directory.
  1754.   Modifed build.bat, clean.bat, and all the make files to reflect the
  1755.   new tree.
  1756.  
  1757. * changed so that kernel will look for a "fdconfig.sys" file, and use
  1758.   it INSTEAD of config.sys.  If it does not find it, it will look
  1759.   for, and read config.sys, if it exists.
  1760.  
  1761. * Fixed so that if you call an INT 21 function with AH containing a
  1762.   unsupported function, the carry flag is set.
  1763.  
  1764. ----- older history, from rcs logs.
  1765.  
  1766. 13 Nov 2002 tom 
  1767. initclk.c:
  1768. Initial revision
  1769.  
  1770. 2001/11/04 bartoldeman
  1771. install.bat:
  1772. Text files need to be LF ended at the server. So be it...
  1773.  
  1774. 2001/04/29           brianreifsnyder
  1775. dsk.c:
  1776. Added phase 1 support for LBA hard drives
  1777.  
  1778. 20 Apr 2001  Bart Oldeman
  1779. buffer.h:
  1780. Initial revision.
  1781.  
  1782. 2001/04/16 bartoldeman
  1783. dsk.c:
  1784. Fixed handles, config.sys drivers, warnings. Enabled INT21/AH=6C, printf %S/%Fs
  1785.  
  1786. 2001/04/15 bartoldeman
  1787. dsk.c:
  1788. See history.txt for the list of fixes.
  1789.  
  1790. 2001/03/27 bartoldeman
  1791. dsk.c:
  1792. dsk.c (reported by Nagy Daniel), inthndlr and int25/26 fixes by Tom Ehlert.
  1793.  
  1794. 2001/03/24 bartoldeman
  1795. dsk.c:
  1796. See history.txt: dsk.c changes, warning removal and int21 entry handling.
  1797.  
  1798. 2001/03/22 bartoldeman
  1799. install.bat:
  1800. Change LF to CR/LF in batch files.
  1801.  
  1802. 2001/03/21 bartoldeman
  1803. dsk.c:
  1804. See history.txt for changes. Bug fixes and HMA support are the main ones.
  1805.  
  1806. 2001/03/16 tom ehlert
  1807. inithma.c:
  1808. initial creation
  1809.  
  1810. 2001/03/08 bartoldeman
  1811. dsk.c:
  1812. Space saving fixes from Tom Ehlert
  1813.  
  1814. 2001/03/07 10:00:00 tomehlert
  1815. prf.c:
  1816. recoded for smaller object footprint, added main() for testing+QA
  1817.  
  1818. 2000/10/29 jimtabor
  1819. inthndlr.c:
  1820. Adding Share Support by Ron Cemer
  1821.  
  1822. 2000/08/15 jhall1
  1823. build.txt:
  1824. update to the build.txt file to remove references to the now-defunct
  1825. web site at gcfl.net (John's old site).
  1826.  
  1827. 2000/08/06 jimtabor
  1828. inthndlr.c, nls_load.c:
  1829. Add new files and update cvs with patches and changes
  1830.  
  1831. 2000/06/21 jimtabor
  1832. dsk.c, inthndlr.c:
  1833. Add UMB code, patch, and code fixes
  1834.  
  1835. 2000/06/01 jimtabor
  1836. dsk.c:
  1837. Read History for Changes
  1838.  
  1839. 2000/05/26 jimtabor
  1840. dsk.c:
  1841. Read History file for Change info
  1842.  
  1843. 2000/05/25 jimtabor
  1844. dsk.c, inthndlr.c:
  1845. Fixed project history
  1846.  
  1847. 2000/05/17 jimtabor
  1848. dsk.c, inthndlr.c:
  1849. Cleanup, add and fix source.
  1850.  
  1851. 2000/05/11 jimtabor
  1852. inthndlr.c:
  1853. Removed #if statement
  1854.  
  1855. 2000/05/11 jimtabor
  1856. dsk.c, inthndlr.c:
  1857. Added code for DOS FN 69 & 6C
  1858.  
  1859. 2000/05/11 jimtabor
  1860. install.bat, inthndlr.c:
  1861. Clean up and Release
  1862.  
  1863. 2000/05/08 jimtabor
  1864. inthndlr.c, dosnames.c, dsk.c, dosnames.h, build.txt:
  1865. Update CVS to 2020
  1866.  
  1867. 2000/05/06 jhall1
  1868. getvec.asm, dsk.c, inthndlr.c:
  1869. The FreeDOS Kernel.  A DOS kernel that aims to be 100% compatible with
  1870. MS-DOS.  Distributed under the GNU GPL.
  1871.  
  1872. 2000/04/29 jtabor
  1873. device.h, blockio.c, dsk.c, fatfs.c, inthndlr.c, ioctl.c:
  1874. Added new functions and clean up code
  1875.  
  1876. 2000/04/02 jtabor
  1877. newstuff.c:
  1878. Fix ChgDir Code
  1879.  
  1880. 2000/04/02 jtabor
  1881. dosfns.c:
  1882. Replaced ChgDir Code
  1883.  
  1884. 2000/04/02 jtabor
  1885. dosfns.c:
  1886. Fix to DosChgDir
  1887.  
  1888. 2000/03/31 jprice
  1889. sys.c:
  1890. Added discription of program.
  1891.  
  1892. 2000/03/31 jtabor
  1893. config.c, dosfns.c, dosnames.c, fatdir.c, fcbfns.c, int2f.asm, main.c,
  1894. makefile, network.c, newstuff.c, proto.h, task.c:
  1895. Added Eric W. Biederman Patches
  1896.  
  1897. 2000/03/23 ska
  1898. nls.c:
  1899. Initial revision
  1900.  
  1901. 2000/03/20 kernel
  1902. entry.asm:
  1903. Change in Entry.asm
  1904.  
  1905. 2000/03/18 kernel
  1906. intfns.txt:
  1907. changes in supported functions
  1908.  
  1909. 2000/03/17 kernel
  1910. config.c, fatdir.c, fatfs.c, fcbfns.c, inthndlr.c, makefile,
  1911. network.c, nlssupt.asm, proto.h:
  1912. Steffen Kaiser's NLS changes
  1913.  
  1914. 2000/03/17 kernel
  1915. inthndlr.c:
  1916. Fixed Func 0x32
  1917.  
  1918. 2000/03/17 kernel
  1919. fatfs.c:
  1920. Added Change for media_check
  1921.  
  1922. 2000/03/16 kernel
  1923. globals.h, inthndlr.c:
  1924. *** empty log message ***
  1925.  
  1926. 2000/03/09 kernel
  1927. dosfns.c, dosnames.c, dsk.c, error.c, execrh.asm, fatdir.c, fatfs.c,
  1928. fcbfns.c, globals.h, initoem.c, int2f.asm, inthndlr.c, io.asm,
  1929. ioctl.c, kernel.asm, main.c, makefile, memmgr.c, misc.c, network.c,
  1930. newstuff.c, prf.c, proto.h, strings.c, sysclk.c, task.c, blockio.c,
  1931. break.c, chario.c, config.c, console.asm, cds.h, dcb.h, device.h,
  1932. dirmatch.h, fnode.h, mcb.h, sft.h, stacks.inc:
  1933. 2017f updates by James Tabor
  1934.  
  1935. 1999/09/25 jprice
  1936. boot.asm:
  1937. Optimize boot loader.  Documentation.
  1938.  
  1939. 1999/09/24 jprice
  1940. boot.asm:
  1941. Added changes recommended by Jens Horstmeier
  1942. to make their bootable CD work.
  1943.  
  1944. 1999/09/23 jprice
  1945. main.c, network.c, proto.h, globals.h, inthndlr.c, kernel.asm,
  1946. makefile, config.c, console.asm, dosfns.c, entry.asm, fatfs.c,
  1947. fcbfns.c, chario.c, boot.asm, fcb.h, sys/makefile, sys.c:
  1948. *** empty log message ***
  1949.  
  1950. 1999/09/20 jprice
  1951. sys.c:
  1952. Changed open/creat to fopen to make TC2 happy.
  1953.  
  1954. 1999/09/15 jprice
  1955. sys.c:
  1956. Changed boot sector writing code so easier to read.
  1957.  
  1958. 1999/09/14 jprice
  1959. lib/makefile:
  1960. no message
  1961.  
  1962. 1999/09/14 jprice
  1963. sys.c:
  1964. Added debug log creation to sys.com.
  1965.  
  1966. 1999/09/14 jprice
  1967. console.asm:
  1968. no message
  1969.  
  1970. 1999/09/14 jprice
  1971. inthndlr.c:
  1972. ror4: fix int25 & 26 are not cached.
  1973.  
  1974. 1999/09/14 jprice
  1975. fatfs.c, dosfns.c:
  1976. Fixed bug where you could write over directories.
  1977.  
  1978. 1999/09/13 jprice
  1979. inthndlr.c, console.asm:
  1980. Fix 210B function
  1981.  
  1982. 1999/09/13 jprice
  1983. console.asm:
  1984. Changes from Helmut Fritsch to fix INT21 func B
  1985.  
  1986. 1999/09/13 jprice
  1987. makefile:
  1988. Some clean up.
  1989.  
  1990. 1999/09/13 jprice
  1991. config.b, config.b:
  1992. Added COMPILER variable
  1993.  
  1994. 1999/09/13 jprice
  1995. lib/makefile:
  1996. Added !if so we can use TC2 or TC3 to compile.
  1997.  
  1998. 1999/08/25 jprice
  1999. build.txt:
  2000. update
  2001.  
  2002. 1999/08/25 jprice
  2003. config.b, clobber.bat, clean.bat, config.b, build.bat:
  2004. New build batch files.
  2005.  
  2006. 1999/08/25 jprice
  2007. intfns.txt, build.txt, build.bat:
  2008. New build config
  2009.  
  2010. 1999/08/25 jprice
  2011. config.b, sys/makefile, sys.c, lib/makefile, task.c, main.c, makefile,
  2012. memmgr.c, newstuff.c, proto.h, strings.c, fatfs.c, globals.h,
  2013. initoem.c, inthndlr.c, blockio.c, chario.c, config.c, dosfns.c,
  2014. fatdir.c, date.h, dirmatch.h, portab.h, time.h, drivers/makefile,
  2015. install.bat:
  2016. ror4 patches to allow TC 2.01 compile.
  2017.  
  2018. 1999/08/10 jprice
  2019. clobber.bat:
  2020. case
  2021.  
  2022. 1999/08/10 jprice
  2023. dsk.c, inthndlr.c:
  2024. ror4 2011-04 patch
  2025.  
  2026. 1999/08/10 jprice
  2027. globals.h, inthndlr.c, fatfs.c, fattab.c, blockio.c:
  2028. ror4 2011-03 patch
  2029.  
  2030. 1999/08/10 jprice
  2031. irqstack.asm, kernel.asm, makefile, nlssupt.asm, printer.asm,
  2032. procsupt.asm, segs.inc, apisupt.asm, asmsupt.asm, console.asm, entry.asm, execrh.asm, fatdir.c,
  2033. int2f.asm, io.asm, io.inc, stacks.inc:
  2034. ror4 2011-02 patch
  2035.  
  2036. 1999/08/10 jprice
  2037. wrpcclk.asm, wratclk.asm, rdpcclk.asm, drivers/makefile, getvec.asm, floppy.asm:
  2038. ror4 2011-01 patch
  2039.  
  2040. 1999/05/04 jprice
  2041. systime.c:
  2042. ror4 date fix
  2043.  
  2044. 1999/05/03 jprice
  2045. fat.h:
  2046. Changed some variables from signed to unsigned.
  2047.  
  2048. 1999/05/03 jprice
  2049. blockio.c, config.c, dosfns.c, fatdir.c, fatfs.c, fattab.c, globals.h,
  2050. inthndlr.c, misc.c, proto.h:
  2051. Patches from ror4 and many changed of signed to unsigned variables.
  2052.  
  2053. 1999/05/03 jprice
  2054. sys/makefile:
  2055. no message
  2056.  
  2057. 1999/05/03 jprice
  2058. fatfs.c:
  2059. Fixed bug in map_cluster function
  2060.  
  2061. 1999/05/03 jprice
  2062. blockio.c:
  2063. Changed getblock & getbuf so that they leave at least 3 buffer for FAT data.
  2064.  
  2065. 1999/04/23 jprice
  2066. procsupt.asm:
  2067. Fixed got_cbreak function.
  2068.  
  2069. 1999/04/23 jprice
  2070. makefile:
  2071. no message
  2072.  
  2073. 1999/04/23 jprice
  2074. asmsupt.asm, inthndlr.c, memmgr.c, misc.c, proto.h, task.c:
  2075. Memory manager changes made by ska
  2076.  
  2077. 1999/04/23 jprice
  2078. clobber.bat:
  2079. Initial include
  2080.  
  2081. 1999/04/23 jprice
  2082. clean.bat, build.bat, sys/makefile, lib/makefile, makefile, drivers/makefile:
  2083. Improved by jprice
  2084.  
  2085. 1999/04/23 jprice
  2086. boot/makefile:
  2087. Ported to NASM by ror4. Improvements
  2088.  
  2089. 1999/04/23 jprice
  2090. boot.asm:
  2091. Ported to NASM by ror4
  2092.  
  2093. 1999/04/21 jprice
  2094. blockio.c:
  2095. no message
  2096.  
  2097. 1999/04/18 jprice
  2098. blockio.c:
  2099. no message
  2100.  
  2101. 1999/04/17 jprice
  2102. sys.c, boot.asm:
  2103. Fixed multi-sector code
  2104.  
  2105. 1999/04/17 jprice
  2106. build.bat:
  2107. ror4 patches
  2108.  
  2109. 1999/04/17 jprice
  2110. boot.asm:
  2111. Changed so multi-sector IO is optional.
  2112.  
  2113. 1999/04/16 jprice
  2114. blockio.c, config.c, dsk.c, globals.h, main.c, proto.h, floppy.asm:
  2115. ror4 multi-sector IO
  2116.  
  2117. 1999/04/16 jprice
  2118. break.c:
  2119. Steffen contributed.
  2120.  
  2121. 1999/04/16 jprice
  2122. dosfns.c, globals.h, inthndlr.c, irqstack.asm, main.c, makefile, procsupt.asm,
  2123. proto.h, chario.c, config.c:
  2124. Steffen c-break handler changes
  2125.  
  2126. 1999/04/16 jprice
  2127. fatfs.c, fattab.c, globals.h, main.c, task.c, blockio.c, config.c,
  2128. dsk.c, fatdir.c, fnode.h, dcb.h:
  2129. Optimized FAT handling
  2130.  
  2131. 1999/04/13 jprice
  2132. kernel.asm:
  2133. changes for boot loader
  2134.  
  2135. 1999/04/13 jprice
  2136. boot.asm:
  2137. Moves boot sector to top of mem
  2138.  
  2139. 1999/04/13 jprice
  2140. makefile, fatdir.c, drivers/makefile:
  2141. no message
  2142.  
  2143. 1999/04/12 jprice
  2144. fatfs.c, blockio.c:
  2145. Using getbuf to write data instead of getblock
  2146. using getblock made it read the block before it wrote it
  2147.  
  2148. 1999/04/12 jprice
  2149. systime.c, config.c, dosfns.c, fatfs.c, globals.h, main.c, proto.h,
  2150. sysclk.c:
  2151. more ror4 patches.  Changes for multi-block IO
  2152.  
  2153. 1999/04/12 jprice
  2154. rdpcclk.asm, rdatclk.asm:
  2155. more ror4 patches
  2156.  
  2157. 1999/04/11 jprice
  2158. blockio.c:
  2159. Working on multi-block IO
  2160.  
  2161. 1999/04/11 jprice
  2162. globals.h, inthndlr.c, main.c, newstuff.c, proto.h, task.c, blockio.c,
  2163. config.c, dosfns.c, fatdir.c, fatfs.c, fattab.c:
  2164. ror4 patches
  2165.  
  2166. 1999/04/06 jprice
  2167. boot.asm:
  2168. Put back code to read multiple sectors at a time.
  2169.  
  2170. 1999/04/04 jprice
  2171. config.c, globals.h, inthndlr.c, main.c, dosfns.c, dosnames.c,
  2172. fatdir.c, fatfs.c, fcbfns.c, globals.h, inthndlr.c, ioctl.c, main.c,
  2173. newstuff.c, prf.c, proto.h, strings.c, chario.c, sft.h, device.h:
  2174. no message
  2175.  
  2176. 1999/04/01 jprice
  2177. sys.c:
  2178. SYS modified for new boot loader
  2179.  
  2180. 1999/04/01 jprice
  2181. boot/makefile, boot.asm:
  2182. New boot loader
  2183.  
  2184. 1999/04/01 jprice
  2185. install.bat:
  2186. no message
  2187.  
  2188. 1999/03/29 jprice
  2189. wrpcclk.asm, wratclk.asm, rdpcclk.asm, rdatclk.asm, drivers/makefile,
  2190. getvec.asm, floppy.asm, globals.h, io.inc, task.c:
  2191. ror4 changes
  2192.  
  2193. 1999/03/29 jprice
  2194. sys.c:
  2195. Fixed error message
  2196.  
  2197. 1999/03/29 jprice
  2198. sys.c, syspack.c, prf.c, misc.c, fcbfns.c, fattab.c, fatfs.c,
  2199. fatdir.c, error.c, dosnames.c, dosfns.c, chario.c, blockio.c, task.c,
  2200. systime.c, sysclk.c, strings.c, proto.h, segs.inc, procsupt.asm,
  2201. printer.asm, nlssupt.asm, newstuff.c, memmgr.c, main.c, makefile,
  2202. kernel.asm, irqstack.asm, ioctl.c, io.inc, io.asm, inthndlr.c,
  2203. int2f.asm, globals.h, initoem.c, execrh.asm, entry.asm, dsk.c,
  2204. console.asm, config.c, asmsupt.asm, apisupt.asm, wrpcclk.asm,
  2205. wratclk.asm, rdpcclk.asm, rdatclk.asm, getvec.asm, floppy.asm,
  2206. drivers/makefile, install.bat, boot/makefile, boot.asm, tail.h,
  2207. time.h, sft.h, stacks.inc, process.h, portab.h, pcb.h, kbd.h, mcb.h,
  2208. file.h, fnode.h, fcb.h, exe.h, fat.h, dosnames.h, error.h, device.h,
  2209. date.h, dcb.h, cds.h, clock.h, dirmatch.h, intfns.txt, clean.bat,
  2210. build.bat:
  2211. New version without IPL.SYS
  2212.  
  2213. 1999/03/25 jprice
  2214. fatdir.c:
  2215. Fixed findfirst & findnext functions to treat the attributes like MSDOS does.
  2216.  
  2217. 1999/03/23 jprice
  2218. inthndlr.c:
  2219. Now sets carry when we don't support a function
  2220.  
  2221. 1999/03/23 jprice
  2222. config.c:
  2223. Now checks for a reads fdconfig.sys file, if exists
  2224.  
  2225. 1999/03/23 jprice
  2226. fatfs.c:
  2227. Fixed mkdir DOS function so it will create a directory with same name as the volument label
  2228.  
  2229. 1999/03/02 jprice
  2230. inthndlr.c:
  2231. Added some comments.  Fixed some minor bugs.
  2232.  
  2233. 1999/03/02 jprice
  2234. fatfs.c:
  2235. Fixed bugs with dos set attribute function.  Now returns correct
  2236. error code, and errors if user tries to set bits 6 & 7.
  2237.  
  2238. 1999/03/02 jprice
  2239. boot.asm:
  2240. Added entry address for more recent versions of TLINK
  2241.  
  2242. 1999/03/02 jprice
  2243. intfns.txt:
  2244. Updated interrupt list
  2245.  
  2246. 1999/03/01 jprice
  2247. makefile:
  2248. Fixed so it'll work with config.mak
  2249.  
  2250. 1999/03/01 jprice
  2251. makefile:
  2252. Turned off DEBUG define.
  2253.  
  2254. 1999/03/01 jprice
  2255. inthndlr.c:
  2256. Added some DEBUG ifdef's so that it will compile without DEBUG defined.
  2257.  
  2258. 1999/02/14 jprice
  2259. fatdir.c, dsk.c:
  2260. Changed check media so that it checks if a floppy disk has been changed.
  2261.  
  2262. 1999/02/14 jprice
  2263. floppy.asm:
  2264. Added functions to check if a floppy disk has been changed.
  2265.  
  2266. 1999/02/09 jprice
  2267. makefile, drivers/makefile, boot/makefile, clean.bat, build.bat:
  2268. Make makefile use common config.mak file
  2269.  
  2270. 1999/02/09 jprice
  2271. blockio.c, chario.c, dosfns.c, error.c, fatdir.c, fatfs.c, fattab.c,
  2272. fcbfns.c, device.h, error.h, sysclk.c, systime.c, task.c, apisupt.asm,
  2273. asmsupt.asm, config.c, console.asm, dsk.c, entry.asm, execrh.asm,
  2274. globals.h, initoem.c, int2f.asm, inthndlr.c, io.asm, io.inc, ioctl.c,
  2275. irqstack.asm, kernel.asm, main.c, makefile, memmgr.c, newstuff.c,
  2276. nlssupt.asm, printer.asm, procsupt.asm, proto.h, segs.inc, floppy.asm:
  2277. Added Pat's 1937 kernel patches
  2278.  
  2279. 1999/02/04 jprice
  2280. chario.c, fatfs.c, fcbfns.c, strings.c, sysclk.c, systime.c, task.c:
  2281. Formating.  Added comments.
  2282.  
  2283. 1999/02/04 jprice
  2284. inthndlr.c:
  2285. Formating
  2286.  
  2287. 1999/02/04 jprice
  2288. makefile:
  2289. Added option to share constants (-d).
  2290.  
  2291. 1999/02/04 jprice
  2292. device.h:
  2293. no message
  2294.  
  2295. 1999/02/02 jprice
  2296. dosnames.c:
  2297. Steve Miller fixed a bug with doing "cd ." would lock the machine.
  2298.  
  2299. 1999/02/01 jprice
  2300. apisupt.asm, asmsupt.asm, config.c, dsk.c, entry.asm, execrh.asm, globals.h,
  2301. initoem.c, int2f.asm, inthndlr.c, ioctl.c, irqstack.asm, kernel.asm,
  2302. main.c, memmgr.c, newstuff.c, nlssupt.asm, procsupt.asm, proto.h,
  2303. strings.c, sysclk.c, systime.c, task.c:
  2304. Clean up; Now you can use hex numbers in config.sys. added config.sys screen function to change screen mode (28 or 43/50 lines)
  2305.  
  2306. 1999/02/01 jprice
  2307. chario.c, dosfns.c, dosnames.c, error.c, fatdir.c, fatfs.c, fattab.c,
  2308. fcbfns.c, misc.c, prf.c, syspack.c, blockio.c:
  2309. Fixed findfirst function to find volume label with Windows long filenames
  2310.  
  2311. 1999/02/01 jprice
  2312. cds.h, clock.h, date.h, dcb.h, device.h, dirmatch.h, dosnames.h, error.h,
  2313. exe.h, fat.h, fcb.h, file.h, fnode.h, kbd.h, mcb.h, pcb.h, portab.h, process.h,
  2314. sft.h, stacks.inc, tail.h, time.h:
  2315. Clean up
  2316.  
  2317. 1999/01/30 jprice
  2318. clean.bat, build.bat:
  2319. Clean up
  2320.  
  2321. 1999/01/30 jprice
  2322. main.c, config.c, initoem.c, inthndlr.c:
  2323. Clean up; Fixed bug with set attribute function.
  2324.  
  2325. 1999/01/30 jprice
  2326. globals.h:
  2327. Clean up; commented out copyright messages while we debug.
  2328.  
  2329. 1999/01/30 jprice
  2330. blockio.c, fatdir.c, fatfs.c:
  2331. Clean up; Fixed bug with set attribute function.  If you tried to
  2332. change the attributes of a directory, it would erase it.
  2333.  
  2334. 1999/01/30 jprice
  2335. cds.h, clock.h, error.h, fat.h, fnode.h, build.bat:
  2336. Clean up
  2337.  
  2338. 1999/01/22 jprice
  2339. cds.h, clock.h, date.h, dcb.h, device.h, dirmatch.h, dosnames.h, error.h,
  2340. exe.h, fat.h, fcb.h, file.h, fnode.h, kbd.h, mcb.h, pcb.h, portab.h, process.h,
  2341. sft.h, stacks.inc, tail.h, time.h, wrpcclk.asm, wratclk.asm,
  2342. rdpcclk.asm, rdatclk.asm, drivers/makefile, getvec.asm, floppy.asm,
  2343. blockio.c, chario.c, dosfns.c, dosnames.c, error.c, fatdir.c, fatfs.c,
  2344. fattab.c, fcbfns.c, misc.c, prf.c, syspack.c, procsupt.asm, proto.h,
  2345. strings.c, sysclk.c, systime.c, task.c, globals.h, initoem.c,
  2346. int2f.asm, inthndlr.c, ioctl.c, irqstack.asm, kernel.asm, main.c,
  2347. makefile, memmgr.c, newstuff.c, nlssupt.asm, apisupt.asm, asmsupt.asm,
  2348. config.c, dsk.c, entry.asm, execrh.asm, boot/makefile, boot.asm:
  2349. Formating.
  2350.  
  2351. 1999/01/21 jprice Fixed comments.
  2352. sys.c:
  2353. Added indent program
  2354.  
  2355. 1999/01/21 jprice Added messages to sys.  Also made
  2356. sys.c:
  2357. it create a .COM file.
  2358.  
  2359. 1999/01/20 jprice
  2360. cds.h, clock.h, date.h, dcb.h, device.h, dirmatch.h, dosnames.h, error.h,
  2361. exe.h, fat.h, fcb.h, file.h, fnode.h, kbd.h, mcb.h, pcb.h, portab.h, process.h,
  2362. sft.h, stacks.inc, tail.h, time.h, apisupt.asm, asmsupt.asm, config.c, dsk.c,
  2363. entry.asm, execrh.asm, globals.h, initoem.c, int2f.asm, ioctl.c, irqstack.asm,
  2364. kernel.asm, main.c, makefile, memmgr.c, newstuff.c, nlssupt.asm,
  2365. procsupt.asm, proto.h, strings.c, sysclk.c, systime.c, task.c:
  2366. Imported sources
  2367.  
  2368. 1999/01/20 jprice
  2369. wrpcclk.asm, wratclk.asm, rdpcclk.asm, rdatclk.asm, drivers/makefile,
  2370. getvec.asm, floppy.asm, boot/makefile, boot.asm, blockio.c, chario.c, dosfns.c,
  2371. dosnames.c, error.c, fatdir.c, fatfs.c, fattab.c, fcbfns.c,
  2372. inthndlr.c, misc.c, prf.c, syspack.c:
  2373. Imported sources
  2374.  
  2375. 10 Jan 1999            SRM
  2376. makefile:
  2377. Took out "/P-" from TLINK
  2378. Changed "bcc" to "tcc"
  2379.  
  2380. 06 Dec 1998  patv
  2381. entry.asm:
  2382. New int 21h handler code.
  2383.  
  2384. 06 Dec 1998  patv
  2385. inthndlr.c:
  2386. Expanded due to improved int 21h handler code.
  2387.  
  2388. 06 Dec 1998  patv
  2389. ioctl.c, proto.h, apisupt.asm, globals.h:
  2390. Expanded due to new I/O subsystem.
  2391.  
  2392. 06 Dec 1998  patv
  2393. makefile:
  2394. Added new files for I/O subsystem.
  2395.  
  2396. 06 Dec 1998  patv
  2397. main.c, dsk.c:
  2398. Changed due to new I/O subsystem.
  2399.  
  2400. 06 Dec 1998  patv
  2401. irqstack.asm, newstuff.c, int2f.asm, kernel.asm, systime.c,
  2402. nlssupt.asm, asmsupt.asm, procsupt.asm, task.c, execrh.asm, fatdir.c,
  2403. fatfs.c:
  2404. Bug fixes.
  2405.  
  2406. 06 Dec 1998  patv
  2407. dosfns.c:
  2408. Expanded dos functions due to new I/O subsystem.
  2409.  
  2410. 06 Dec 1998  patv
  2411. fcbfns.c:
  2412. Expanded fcb functions for new I/O subsystem.
  2413.  
  2414. 06 Dec 1998  patv
  2415. error.c:
  2416. Now handles errors like MS-DOS.
  2417.  
  2418. 06 Dec 1998  patv
  2419. chario.c:
  2420. changes in character I/O because of new I/O subsystem.
  2421.  
  2422. 06 Dec 1998  patv
  2423. blockio.c:
  2424. Changes in block I/O because of new I/O subsystem.
  2425.  
  2426. 06 Dec 1998  patv
  2427. floppy.asm:
  2428. New floppy support functions.
  2429.  
  2430. 06 Dec 1998  patv
  2431. device.h:
  2432. Changed for new I/O subsystem
  2433.  
  2434. 06 Dec 1998  patv
  2435. error.h:
  2436. Added new errors for new I/O subsystem.
  2437.  
  2438. 06 Dec 1998  patv
  2439. io.inc, segs.inc:
  2440. Initial revision.
  2441.  
  2442. 09 Feb 1998  patv
  2443. fatfs.c, fattab.c:
  2444. Eliminated FAT12 EOF and error returns.
  2445.  
  2446. 07 Feb 1998  patv
  2447. stacks.inc, pcb.h, entry.asm, procsupt.asm, inthndlr.c, task.c,
  2448. globals.h, proto.h:
  2449. Modified stack fram to match DOS standard
  2450.  
  2451. 03 Feb 1998  patv
  2452. kernel.asm:
  2453. Added a start-up stack for loadable device drivers.  Need the separate
  2454. stack so that all int 21h functions can be called.
  2455.  
  2456. 03 Feb 1998  patv
  2457. fatfs.c:
  2458. Fixed lseek bug.
  2459.  
  2460. 02 Feb 1998  patv
  2461. globals.h:
  2462. Fixed size of default_drive.  Caused failures when break_ena was not zero.
  2463.  
  2464. 31 Jan 1998  patv
  2465. task.c:
  2466. Corrected type in load high code.
  2467.  
  2468. 31 Jan 1998  patv
  2469. task.c:
  2470. Added load high in memory option in DosExeLoader.
  2471.  
  2472. 22 Jan 1998  patv
  2473. task.c:
  2474. Eliminated warnings.
  2475.  
  2476. 22 Jan 1998  patv
  2477. process.h:
  2478. Had to change ps_prevps to VOID FAR * due to BC++ error.
  2479.  
  2480. 22 Jan 1998  patv
  2481. process.h:
  2482. Corrected ps_prevpsp declaration.
  2483.  
  2484. 22 Jan 1998  patv
  2485. task.c:
  2486. Corrected short .COM problem.
  2487.  
  2488. 22 Jan 1998  patv
  2489. makefile:
  2490. Outdated stacks.asm.
  2491.  
  2492. 22 Jan 1998  patv
  2493. fatfs.c:
  2494. Corrected remaining file name and extension copies that did not
  2495. account for far file nodes due to allocated FILES= spec.
  2496.  
  2497. 22 Jan 1998  patv
  2498. inthndlr.c, proto.h, config.c, globals.h, kernel.asm, main.c,
  2499. blockio.c, dosnames.c, fatdir.c, fatfs.c:
  2500. Fixed pointer problems affecting SDA
  2501.  
  2502. 11 Jan 1998  patv
  2503. ioctl.c, proto.h, chario.c, device.h:
  2504. Added functionality to ioctl.
  2505.  
  2506. 08 Jan 1998  patv
  2507. chario.c:
  2508. Changed automatic requestic packets to static to save stack space.
  2509.  
  2510. 06 Jan 1998  patv
  2511. inthndlr.c:
  2512. Broke apart int21_system from int21_handler.
  2513.  
  2514. 06 Jan 1998  patv
  2515. kernel.asm:
  2516. Reduced device driver stack sizes.
  2517.  
  2518. 04 Jan 1998  patv
  2519. globals.h, proto.h, inthndlr.c, newstuff.c, systime.c, main.c,
  2520. config.c, ioctl.c, memmgr.c, dsk.c, initoem.c, strings.c, sysclk.c,
  2521. task.c, fatfs.c, chario.c, dosfns.c, dosnames.c, fattab.c, fcbfns.c,
  2522. prf.c, syspack.c, blockio.c, error.c, fatdir.c, misc.c, device.h,
  2523. cds.h, clock.h, date.h, dcb.h, fat.h, file.h, fnode.h, kbd.h, mcb.h,
  2524. pcb.h, sft.h, dirmatch.h, error.h, exe.h, fcb.h, portab.h, process.h,
  2525. tail.h, time.h:
  2526. Changed Log for strip utility
  2527.  
  2528. 04 Jan 1998  patv
  2529. kernel.asm, inthndlr.c, main.c, config.c, newstuff.c, fatfs.c:
  2530. Corrected subdirectory bug
  2531.  
  2532. 03 Jan 1998  patv
  2533. globals.h, kernel.asm, makefile, systime.c, inthndlr.c, main.c,
  2534. proto.h, asmsupt.asm, dosfns.c, dosnames.c, fatfs.c, blockio.c,
  2535. fatdir.c, fcbfns.c:
  2536. Converted data area to SDA format
  2537.  
  2538. 31 Dec 1997  patv
  2539. strings.c:
  2540. Added new far string functions.
  2541.  
  2542. 30 Dec 1997  patv
  2543. chario.c:
  2544. Modified to support SDA
  2545.  
  2546. 01 Aug 1997  patv
  2547. inthndlr.c:
  2548. COMPATIBILITY: Added return '$' in AL for function int 21h fn 09h
  2549.  
  2550. 06 Feb 1997  patv
  2551. kernel.asm:
  2552. Reduced stack sizes for block and clock devices.
  2553.  
  2554. 06 Feb 1997  patv
  2555. globals.h:
  2556. Changed version format string
  2557.  
  2558. 06 Feb 1997  patv
  2559. main.c:
  2560. Modified to support new version format and changed debug message to
  2561. output drive letter instead of number.
  2562.  
  2563. 06 Feb 1997  patv
  2564. globals.h:
  2565. Modified to support new version format
  2566.  
  2567. 06 Feb 1997  patv
  2568. inthndlr.c, kernel.asm:
  2569. Added hooks for tsc command
  2570.  
  2571. 30 Jan 1997  patv
  2572. makefile:
  2573. Added TSC flag for trace support.
  2574.  
  2575. 22 Jan 1997  patv
  2576. newstuff.c, inthndlr.c, task.c, irqstack.asm:
  2577. pre-0.92 Svante Frey bug fixes.
  2578.  
  2579. 22 Jan 1997  patv
  2580. globals.h:
  2581. Changed to support version.h and pre-0.92 Svante Frey bug fixes.
  2582.  
  2583. 22 Jan 1997  patv
  2584. main.c:
  2585. Now does correct default drive initialization.
  2586.  
  2587. 22 Jan 1997  patv
  2588. fatfs.c, dosfns.c:
  2589. pre-0.92 bug fixes
  2590.  
  2591. 16 Jan 1997  patv
  2592. irqstack.asm:
  2593. Initial revision.
  2594.  
  2595. 16 Jan 1997  patv
  2596. globals.h, main.c, memmgr.c, task.c, ioctl.c, config.c, inthndlr.c,
  2597. apisupt.asm, nlssupt.asm, proto.h, makefile, fcbfns.c, chario.c,
  2598. dosnames.c, blockio.c, dosfns.c, fatdir.c, fatfs.c, fattab.c,
  2599. device.h, fcb.h, sft.h, dsk.c, boot.asm:
  2600. Corrected copyright
  2601.  
  2602. 10 Jan 1997  patv
  2603. boot.asm:
  2604. Re-written to support C drive and eliminate restrictions on IPL.SYS
  2605.  
  2606. 10 Jan 1997  patv
  2607. boot/makefile:
  2608. Changed to use FreeDOS exe2bin and support new boot code
  2609.  
  2610. 17 Dec 1996  patv
  2611. boot/makefile:
  2612. Converted to FreeDOS exe2bin.
  2613.  
  2614. 13 Sep 1996  patv
  2615. globals.h:
  2616. Fixed boot for hard drive
  2617.  
  2618. 29 Aug 1996  patv
  2619. makefile, globals.h, task.c, floppy.asm, wrpcclk.asm, wratclk.asm,
  2620. drivers/makefile, rdpcclk.asm, rdatclk.asm, getvec.asm, boot/makefile,
  2621. boot.asm:
  2622. Bug fixes for v0.91b
  2623.  
  2624. 29 May 1996  patv
  2625. clock.h, date.h, dcb.h, kbd.h, dirmatch.h, error.h, exe.h, sft.h,
  2626. tail.h, time.h, fnode.h, mcb.h, pcb.h, portab.h, process.h,
  2627. dosnames.h, fat.h, fcb.h, file.h, device.h, dosfns.c, fatdir.c,
  2628. misc.c, fatfs.c, fattab.c, fcbfns.c, chario.c, dosnames.c, syspack.c,
  2629. blockio.c, error.c, prf.c, initoem.c, sysclk.c, int2f.asm, config.c,
  2630. kernel.asm, inthndlr.c, proto.h, systime.c, apisupt.asm, asmsupt.asm,
  2631. nlssupt.asm, procsupt.asm, task.c, globals.h, memmgr.c, dsk.c, main.c,
  2632. makefile, execrh.asm, ioctl.c, strings.c:
  2633. bug fixes for v0.91a
  2634.  
  2635. 19 Feb 1996  patv
  2636. int2f.asm:
  2637. Initial revision.
  2638.  
  2639. 19 Feb 1996  patv
  2640. makefile, kernel.asm, nlssupt.asm, proto.h, globals.h, config.c,
  2641. inthndlr.c, task.c, dsk.c, main.c, memmgr.c, strings.c, initoem.c,
  2642. ioctl.c, sysclk.c, systime.c, fatdir.c, misc.c, fatfs.c, dosfns.c,
  2643. dosnames.c, fattab.c, drivers/makefile, cds.h, dirmatch.h, exe.h,
  2644. sft.h, tail.h, time.h, fcb.h, file.h, fnode.h, mcb.h, pcb.h, portab.h,
  2645. process.h, clock.h, date.h, dcb.h, device.h, dosnames.h, fat.h,
  2646. error.h, kbd.h:
  2647. Added NLS, int2f and config.sys processing
  2648.  
  2649. 01 Sep 1995  patv
  2650. wrpcclk.asm, wratclk.asm, rdpcclk.asm, rdatclk.asm, getvec.asm,
  2651. floppy.asm, boot.asm, apisupt.asm, asmsupt.asm, proto.h, kernel.asm,
  2652. procsupt.asm, execrh.asm, strings.c, task.c, inthndlr.c, memmgr.c,
  2653. dsk.c, main.c, sysclk.c, globals.h, initoem.c, ioctl.c, systime.c,
  2654. dosfns.c, blockio.c, error.c, misc.c, dosnames.c, fcbfns.c, chario.c,
  2655. fattab.c, prf.c, syspack.c, fatfs.c, fatdir.c, time.h, pcb.h,
  2656. portab.h, process.h, sft.h, tail.h, fat.h, fcb.h, file.h, fnode.h,
  2657. mcb.h, date.h, dcb.h, device.h, dirmatch.h, dosnames.h, clock.h,
  2658. error.h, exe.h, kbd.h: 
  2659. First GPL release.
  2660.  
  2661. 30 Jul 1995  patv
  2662. dsk.c, memmgr.c, proto.h, strings.c, task.c, blockio.c, misc.c, chario.c,
  2663. dosnames.c, error.c, fattab.c, fcbfns.c, prf.c, syspack.c, dosfns.c,
  2664. fatdir.c, fatfs.c, mcb.h, pcb.h, portab.h, process.h, sft.h, tail.h,
  2665. time.h, date.h, dcb.h, device.h, dirmatch.h, dosnames.h, fat.h, fcb.h,
  2666. file.h, fnode.h, clock.h:
  2667. Eliminated version strings in ipl
  2668.  
  2669. 30 Jul 1995  patv
  2670. error.h, kbd.h, exe.h:
  2671. Fixed ipl
  2672.  
  2673. 30 Jul 1995  patv
  2674. boot.asm:
  2675. Initialized stack before use.
  2676.  
  2677. 05 Jul 1995  patv
  2678. asmsupt.asm, proto.h:
  2679. Initial revision.
  2680.  
  2681. 02 Jul 1995  patv
  2682. boot.asm, time.h, tail.h, process.h, sft.h, portab.h, pcb.h, kbd.h,
  2683. mcb.h, fnode.h, file.h, fat.h, fcb.h, exe.h, error.h, dirmatch.h,
  2684. dosnames.h, dcb.h, device.h, date.h, clock.h, boot/makefile,
  2685. procsupt.asm, kernel.asm, execrh.asm, apisupt.asm, task.c, strings.c,
  2686. inthndlr.c, main.c, memmgr.c, dsk.c, sysclk.c, systime.c, ioctl.c,
  2687. initoem.c, globals.h, makefile, misc.c, error.c, fcbfns.c, dosnames.c,
  2688. chario.c, syspack.c, prf.c, fattab.c, fatfs.c, fatdir.c, dosfns.c,
  2689. blockio.c, wrpcclk.asm, wratclk.asm, getvec.asm, rdpcclk.asm,
  2690. rdatclk.asm, floppy.asm, drivers/makefile:
  2691. Initial revision.
  2692.  
  2693. 25 May 1993  patv
  2694. dirmatch.h:
  2695. Initial revision.
  2696.  
  2697.